Steam.exe schließen
-
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 ^^