Bir Timer'a bağlı CreateProcess komutu sürekli çalışıyor. CreateProcess her çalıştığında GUI 2 3 saniye donuyor. Bunu nasıl çözebilirim? Bunun yerine QThread kullanılabilir mi?
Örneğin;
STARTUPINFO si;
si.dwFlags = STARTF_USESHOWWINDOW;
PROCESS_INFORMATION pi;
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId = 0;
DWORD dwThreadId = 0;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
LPTSTR cmdPath = _T("C:\\Windows\\System32\\cmd.exe");
LPTSTR cmdArgs = _T("/c ping www.google.com > result.txt");
BOOL bCreateProcess = CreateProcess(
cmdPath,
cmdArgs,
NULL,
NULL,
FALSE,
CREATE_NO_WINDOW,
NULL,
NULL,
&si,
&pi);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);Buradaki ping komutu arka planda çalışıyor. İşlem bitene kadar GUI donuyor.