Differences From Artifact [3a5fb6fa17d9e24a]:
- File
src/hack.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [23c3e51375a8c6a1]:
- File
src/hack.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
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 }