On Monday, 30 June 2014 at 15:19:39 UTC, Adam D. Ruppe wrote:
The Windows headers that come with D are pathetically minimal.
You'll need to grab a more complete win32 header OR copy/paste
the individual prototypes off MSDN and use them that way.
So add this to your D file after importing
core.sys.windows.windows:
extern(Windows)
void GetStartupInfoA(STARTUPINFO*); // the pathetic druntime
Windows headers define TCHAR as ascii, so we'll use the A
version
And try compiling it. If it complains that STARTUPINFO is
undefined too, copy its prototype in:
struct STARTUPINFO {
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
}
And that should make it work.
Yup that worked