Diff

Not logged in

Differences From Artifact [3a5fb6fa17d9e24a]:

To Artifact [23c3e51375a8c6a1]:


1 private import win32.ansi.windows; | 1 private import core.sys.windows.windows; 2 2 3 // Hack! 3 // Hack! 4 // 4 // 5 // _acrtused_dllが勝手に終了時に標準入出力ハンドルを 5 // _acrtused_dllが勝手に終了時に標準入出力ハンドルを 6 // 閉じちゃって困るので、その辺りだけは閉じないような 6 // 閉じちゃって困るので、その辺りだけは閉じないような 7 // CloseHandleを突っ込んで回避。いいのかこれ。 7 // CloseHandleを突っ込んで回避。いいのかこれ。 8 8 ................................................................................................................................................................................ 22 return Real_CloseHandle(h); 22 return Real_CloseHandle(h); 23 } 23 } 24 } 24 } 25 25 26 static this() 26 static this() 27 { 27 { 28 Real_CloseHandle = cast(ClHnT) 28 Real_CloseHandle = cast(ClHnT) 29 GetProcAddress( GetModuleHandle("kernel32.dll"), "CloseHandle" ) | 29 GetProcAddress( GetModuleHandleA("kernel32.dll"), "CloseHandle" 30 stdin = GetStdHandle(STD_INPUT_HANDLE ); 30 stdin = GetStdHandle(STD_INPUT_HANDLE ); 31 stdout = GetStdHandle(STD_OUTPUT_HANDLE); 31 stdout = GetStdHandle(STD_OUTPUT_HANDLE); 32 stderr = GetStdHandle(STD_ERROR_HANDLE ); 32 stderr = GetStdHandle(STD_ERROR_HANDLE ); 33 } 33 }