EXE unsichtbar ausführen
-
Hallo,
ich habe diesen Code:
PROCESS_INFORMATION pi = {0}; STARTUPINFO si = {sizeof(si)}; si.wShowWindow = SW_HIDE; ::CreateProcess( NULL, _T("\"cmd.exe\" /c devcon.exe listclass USB > usb.dat"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); ::WaitForSingleObject( pi.hProcess, INFINITE); CloseHandle(pi.hProcess); CloseHandle(pi.hThread);
Mein Ziel ist es, von der devcon.exe (von MS) die Hardwareinformationen über den USB-Bus in die Datei usb.dat schreiben zu lassen.
Mein Programm soll die Datei dann wieder auslesen.
(Ich wüsste nicht, wie ich sonst an die Infos komme...)Durch SW_HIDE sollte es aber doch unsichtbar sein...???
Bei mir wird aber eine Box angezeigt... (sie verschwindet gleich wieder, aber trotzdem...Kann mir jemand sagen, was da falsch ist?
mfg
trequ
-
Machs mal so
STARTUPINFO si = { sizeof(STARTUPINFO) }; PROCESS_INFORMATION pi = {0}; BOOL bSuccess; si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; bSuccess = CreateProcess ( NULL, _T("\"cmd.exe\" /c devcon.exe listclass USB > usb.dat"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
Gruß
:: NoName ::