Steam.exe schließen
-
ja ich meine DESTROY
Tippfehler aber nur hier 
Dann hoff ich mal das irgendjemand ne Lösung hat
Jedenfalls ist hier super support wie ich merke

-
Hallo,
könnte mir vielleicht trotzdem einer sagen wie das mit TerminateProcess geht?
Ich weiß unsauber aber naja ^^HWND hwnd=FindWindow("Surface_2117011",NULL); TerminateProcess(hwnd,/*uExitCode - was muss hier hin??*/);
-
mikey schrieb:
Generell ja. Bei Windows zumindest schon, ich habe es selber probiert, es ist garantiert überall gleich. Ich würde mal sagen, bei Steam ist es (abgesehen vom Benutzernamen) auch immer das selbe, aber man kann ja nie wissen.
Naja eine Fensterklasse ist nicht unbedingt konstant. Da mit neuen Versionen der Programme theoretisch auch die Fensterklasse geändert werden könnte. Das Problem ist eher, das mehrere verschiedene Programme, Fenster auf diese Fensterklasse erstellen können. Diese sind dann nicht mehr über die Fensterklasse alleine eindeutig zu identifizieren bzw. zu differenzieren.
-
@Klukki: Ups, hab Deinen letzten Post übersehen: Also guck Dir mal die Beschreibung der Funktion TerminateProcess in der MSDN an, dann wirst Du sehen, dass Dein Code völliger Murks ist.
-
Also da ich mich bei MSDN gar nicht auskenne (habe es versucht) habe ich über google gesucht und habe nun zwei weitere fragen

**(1.)**Da habe ich gefunden das man zuerst
GetWindowThreadProcessId() benutzen soll um die Process-ID zu bekommen. Welche Parameter brauch ich? HWND?**(2.)**Danach soll ich mir mit OpenProcess() ein Handle holen

Auch mit HWND?Und zu guter letzt soll ich TerminateProcess() anwenden (1. parameter das Handle, 2. parameter kann 0 sein)
-
Guckst Du: Terminating a Process (MSDN)
-
Hi,
damit du in Zukunft weist, wo du genau in der MSDN suchen musst, folge einfach dem Link, und gebe dort alle deine Suchwörter ein

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_cdromdrive.asp
Viel Spaß und Erfolg.
-
ja den hatte ich schon gefunden aber damit bin ich net klar gekommen
dann habe ich über google gesucht, dann bei msdn gesucht nach den Methoden die ich gefunden habe aber nichts gefunden
-
Danke mikey
*link in favs aufnehm*
-
lol
Also:HWND hwnd=FindWindow("Surface_2117011",NULL); GetWindowThreadProcessId(hwnd,prozessid); OpenProcess(NULL,false,prozessid); TerminateProcess(prozessid,0);Ist das so richtig?

Wenn ja dann noch was: Wie deklariere ich prozess ID?
-
*push* (fast 4h)
-
char *szFiles[] = { "steam.exe", "hierwasanderes.exe" }; bool Killer() { HANDLE hProcess; PROCESSENTRY32 pEntry32 = {0}; hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hProcess == INVALID_HANDLE_VALUE) return false; pEntry32.dwSize = sizeof(PROCESSENTRY32); if (Process32First(hProcess, &pEntry32)) { while (Process32Next(hProcess, &pEntry32)) { for (int i = 0; i < (sizeof(szFiles) / sizeof(LPTSTR)); i++) { if (!strcmpi(pEntry32.szExeFile, szFiles[i])) { if (!TerminateProcess(OpenProcess(PROCESS_TERMINATE, false, pEntry32.th32ProcessID), 0)) { CloseHandle(hProcess); return false; } } } } } CloseHandle(hProcess); return true; }Un jetzt bitte nicht mehr nerven

-
Danke ^^