- 178 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 08:06:41 ]
- DuplicateHandleの効果を教えてください。コピーを作らずにsi.hStdOutput = hd;と書くと出力されません。
f(){ HANDLE hd, he; hd = CreateFile("out.dat", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0 ); DuplicateHandle(GetCurrentProcess(), hd, GetCurrentProcess(), &he, 0, 1, DUPLICATE_SAME_ACCESS); STARTUPINFO si; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; si.hStdOutput = he; PROCESS_INFORMATION pi; pi.hProcess = NULL; CreateProcess(NULL, "xdoc2txt a.doc", NULL, NULL, TRUE,0, NULL, NULL, &si, &pi ); WaitForSingleObject(pi.hProcess,INFINITE);}
|

|