Anderes Programm versteckt starten (CreateProcess)
-
Hi,
also ich konnte bis jetzt Commandline Programme versteckt starten, indem ich sie mit einem anderen Programm (hide.exe) gestartet hab.
Quellcode der hide.exe:
#include <windows.h> int main(int argc, char **argv) { if (argc != 2) { return EXIT_FAILURE; } STARTUPINFO lpStartupInfo; PROCESS_INFORMATION lpProcessInformation; ZeroMemory(&lpStartupInfo, sizeof(lpStartupInfo)); lpStartupInfo.cb = sizeof(lpStartupInfo); lpStartupInfo.dwFlags = STARTF_USESHOWWINDOW; lpStartupInfo.wShowWindow = SW_HIDE; ZeroMemory(&lpProcessInformation, sizeof(lpProcessInformation)); if (CreateProcess(NULL, argv[1], NULL, NULL, FALSE, 0, NULL, NULL, &lpStartupInfo, &lpProcessInformation) != NULL) { CloseHandle(lpProcessInformation.hThread); CloseHandle(lpProcessInformation.hProcess); return EXIT_SUCCESS; } return EXIT_FAILURE; }Allerdings funktioniert dies nun nicht mehr. Das Programm wird zwar gestartet, aber nicht mehr unsichtbar.
Ich finde irgendwie den Fehler nicht.
-
Das zu startende Programm muss es auch unterstützen! Die meisten machen das nicht. Sonder erzeugen einfach sichtbare Fenster ohne darauf zu achten, was dem Programm übergeben wurde.
Eine andere Möglichkeit ist: Erzeuge eine Eigene Session (WinSta) und einen eigenen Desktop und starte das Programm dort. Dann sieht man es mit Sicherheit nicht

-
Ja, das weiß ich schon. Aber die Programme die ich früher so starten konnte (meine eigenen Konsolenprogramme) starten jetzt auch nicht mehr versteckt. Und ich weiß eben nicht voran es liegt, das es früher ging und jetzt nicht mehr.