Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 13:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Prozess aus Taskleiste beenden

Discussion on Prozess aus Taskleiste beenden within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Prozess aus Taskleiste beenden

Hay, bis jetzt habe ich 2 möglichkeiten einen Prozess zu beenden. Die erste beendet sie leider nur wenn das fenster im moment offen ist, die zweite gefällt mir überhaupt nicht. Vielleicht könntet ihr mir noch andere möglichkeiten zeigen.

Ich nehme jetzt als Beispiel MSN.
Nr. 1:
Code:
        HWND hwndmsn;
	HANDLE handlemsn;
	DWORD processIdmsn;
	DWORD exitmsn;

        hwndmsn = FindWindow(0, L"Windows Live Messenger");
	
	
	if (!hwndmsn)
	{
		cout << "MSN wurde nicht gefunden oder ist schon beendet\n" << endl;
		
	}
	else 
	{
	GetWindowThreadProcessId(hwndmsn, &processIdmsn);
	
	handlemsn = OpenProcess(PROCESS_ALL_ACCESS, false, processIdmsn);
	GetExitCodeProcess(handlemsn, &exitmsn);
	
	TerminateProcess(handlemsn, exitmsn);

	cout << "MSN wurde beendet\n" << endl;
       }
Die erste möglichkeit funktioniert leider nur wenn das Fenster auch offen ist.

Nr. 2:

Code:
 
system("taskkill /f /im msnmsgr.exe");
Die 2. Möglichkeit gefällt mir ganz und garnicht, gibt es da nicht vlt. noch was anderes?
Zwawo is offline  
Old 03/20/2012, 15:47   #2




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036


EndTask könnte man auch noch verwenden O;
Omdi is offline  
Thanks
1 User
Old 03/20/2012, 15:52   #3
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Das eigentliche Problem ist ja, dass ich bei den meisten Funktionen vorher das HWND über
FindWindow() bekommen muss, dies aber nicht funktioniert wenn der Prozess nur in der Taskleiste ist.
Zwawo is offline  
Old 03/20/2012, 15:56   #4




 
Omdi's Avatar
 
elite*gold: 1
Join Date: Apr 2010
Posts: 13,772
Received Thanks: 15,036
Dann nimm die Funktion und machs mit TerminateProcess O;



PHP Code:
HANDLE GetProcessHandle(const char *process_nameDWORD dwAccess//by Null
{
HANDLE hProcessSnap;
HANDLE hProcess;
PROCESSENTRY32 pe32;


hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

if(
hProcessSnap==INVALID_HANDLE_VALUE)
  {
    
cerr <<"Failed to create process snapshot!";
    return 
INVALID_HANDLE_VALUE;
  }

pe32.dwSize=sizeof(PROCESSENTRY32);

if(!
Process32First(hProcessSnap,&pe32))
  {
      
cerr <<"Process32First() failed\n";
      return 
INVALID_HANDLE_VALUE;
  }

do
  {
    if(
strcmp(pe32.szExeFile,process_name)==0)
        return 
OpenProcess(dwAccess,0,pe32.th32ProcessID);

  }while(
Process32Next(hProcessSnap,&pe32));
return 
0;

PHP Code:
HANDLE handle 0;
while(!
handle)
{
handle GetProcessHandle("bla.exe",PROCESS_ALL_ACCESS);
Sleep(10);
}
TerminateProcess(handle,0); 
Omdi is offline  
Old 03/20/2012, 16:00   #5
 
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
Hab das hier, wurde ja im Grunde schon gepostet:
Code:
#include <windows.h>
#include <TlHelp32.h>
#include <tchar.h>

bool KillProcess(TCHAR* szProcessName)
{
	HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if(hSnap != INVALID_HANDLE_VALUE)
	{
		PROCESSENTRY32  process;
		process.dwSize = sizeof(PROCESSENTRY32);
		Process32First(hSnap, &process);
		do
		{
			if(!_tcscmp(process.szExeFile, szProcessName))
			{
				HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, process.th32ProcessID);
				if(hProcess != INVALID_HANDLE_VALUE)
				{
					DWORD dwExitCode = 0;
					GetExitCodeProcess(hProcess, &dwExitCode);
					TerminateProcess(hProcess, dwExitCode);
					if(CloseHandle(hProcess) != FALSE)
						return true;
				}
			}
		} while(Process32Next(hSnap, &process));
		CloseHandle(hSnap);
	}
	return false;
}

int main()
{
	KillProcess(L"Project1.exe");

	return 0;
}
jacky919 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Taskleiste
07/24/2010 - Technical Support - 10 Replies
Kann mir einer sagen wie ich die Icons in der Taskleiste wieder klein bekomm? Ich hatte mal ein Design, und bei dem gingen die Icons automatisch groß und jetzt bekomm ich die nichtmehr klein.. http://npshare.de/files/960e8d15/Taskleiste.bmp
hack beenden ohne warrock zu beenden?
03/25/2010 - WarRock - 7 Replies
kann man eigentlich hacks beenden ohne warrock dabei abzu schalten wenn ja wie? das nervt manchmal wenn man einen hack anhat und ihn nicht mehr an haben will aber dann habe ich kein prem usw also ,weil die meisten hast für f2p sind und keinen 6ten slot haben :D
engine.exe prozess beenden
03/05/2010 - Kal Online - 7 Replies
Gibs ne möglichkeit Engine.exe per process zu beenden?<:<.. BEI XP!!!
FFA taskleiste
08/31/2009 - Technical Support - 5 Replies
öhm.. hab schon seit längerem so komische blaue kästen wo "FFA" drinne steht unten rechts in der taskleiste (kommt von nem rekorder, allerdings hats mich bisher nie gestört...) aber nun hat das ding echt übertrieben O_O das kommt halt jedes mal wenn irgendein sound ist oder so und das kriegt man irgendwie nicht weg (nur mit formatieren afaik) wäre dankbar wenn einer ne möglichkeit hätte das zu fixxen(dass die kästen nichtmehr wiederkommen) http://i25.tinypic.com/2i78so6.png



All times are GMT +1. The time now is 13:20.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.