diff --git a/programs/write/Makefile.in b/programs/write/Makefile.in index b0280b713da..5bde6efdf8d 100644 --- a/programs/write/Makefile.in +++ b/programs/write/Makefile.in @@ -1,5 +1,5 @@ MODULE = write.exe -IMPORTS = user32 gdi32 +IMPORTS = user32 gdi32 shell32 EXTRADLLFLAGS = -mwindows -mno-cygwin diff --git a/programs/write/write.c b/programs/write/write.c index 1481e900f75..da9cba8ec51 100644 --- a/programs/write/write.c +++ b/programs/write/write.c @@ -23,6 +23,7 @@ #include #include +#include #include "resources.h" int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdParagraph, int res) @@ -31,9 +32,9 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPSTR szCmdPar STARTUPINFOW stinf; PROCESS_INFORMATION info; - if (!GetSystemDirectoryW(path, MAX_PATH - 1 - lstrlenW(L"\\wordpad.exe"))) + if (FAILED(SHGetFolderPathW(NULL, CSIDL_PROGRAM_FILES, NULL, 0, path))) goto failed; - lstrcatW(path, L"\\wordpad.exe"); + lstrcatW(path, L"\\Windows NT\\Accessories\\wordpad.exe"); stinf.cb = sizeof(STARTUPINFOW); GetStartupInfoW(&stinf);