ReactOS  0.4.12-dev-36-g472787f
write.c
Go to the documentation of this file.
1 /*
2  * Write.exe - this program only calls wordpad.exe
3  *
4  * Copyright 2007 by Mikolaj Zalewski
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 #define WIN32_LEAN_AND_MEAN
22 
23 #include <stdarg.h>
24 
25 #include <windows.h>
26 #include "resources.h"
27 
28 static const WCHAR SZ_WORDPAD[] = {'\\','w','o','r','d','p','a','d','.','e','x','e',0};
29 
30 int CALLBACK wWinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPWSTR szCmdParagraph, int res)
31 {
33  STARTUPINFOW stinf;
35 
37  goto failed;
38  lstrcatW(path, SZ_WORDPAD);
39 
40  stinf.cb = sizeof(STARTUPINFOW);
41  GetStartupInfoW(&stinf);
42 
43  if (!CreateProcessW(path, GetCommandLineW(), NULL, NULL, FALSE, 0, NULL, NULL, &stinf, &info))
44  goto failed;
45  CloseHandle(info.hProcess);
46  CloseHandle(info.hThread);
47  return 0;
48 
49 failed:
52  return 1;
53 }
#define CloseHandle
Definition: compat.h:398
__wchar_t WCHAR
Definition: xmlstorage.h:180
struct _STARTUPINFOW STARTUPINFOW
#define CALLBACK
Definition: compat.h:27
#define lstrlenW
Definition: compat.h:407
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
struct _test_info info[]
Definition: SetCursorPos.c:19
HINSTANCE hInstance
Definition: charmap.c:20
LPWSTR WINAPI GetCommandLineW(VOID)
Definition: proc.c:2043
smooth NULL
Definition: ftsmooth.c:416
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
Definition: proc.c:4623
DWORD cb
Definition: winbase.h:817
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
#define MAX_PATH
Definition: compat.h:26
#define MB_ICONERROR
Definition: winuser.h:781
#define IDS_FAILED
Definition: resources.h:24
int CALLBACK wWinMain(HINSTANCE hInstance, HINSTANCE hOldInstance, LPWSTR szCmdParagraph, int res)
Definition: write.c:30
Definition: services.c:325
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
Definition: path.c:2312
#define MB_OK
Definition: winuser.h:784
VOID WINAPI GetStartupInfoW(IN LPSTARTUPINFOW lpStartupInfo)
Definition: proc.c:1309
GLuint res
Definition: glext.h:9613
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:845
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static const WCHAR SZ_WORDPAD[]
Definition: write.c:28