Hello everyone:
I want to use CreateProcess() call another application, and save the
result in a text file.I can surely exeute the application,but there is
nothing data in the text file.why??
Could you please give me the code example?
Thank you!
//window message process function
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static STARTUPINFO si;
static PROCESS_INFORMATION pi;
static HANDLE hFile;
static SECURITY_ATTRIBUTES sa;
sa.bInheritHandle = TRUE;
hFile = CreateFile("C:\\Tracert.txt",GENERIC_WRITE,FILE_SHARE_WRITE,
&sa,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdOutput = hFile;
switch(msg)
{
case WM_CREATE:
CreateProcess("C:\\WINNT\\System32\\tracert.exe"," www.163.com",
NULL, NULL, FALSE,0, NULL, NULL, &si, &pi);
return 0;
case WM_PAINT:
return 0;
case WM_DESTROY:
CloseHandle(hFile);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,msg,wParam,lParam);
}