| 
				
					|  | Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
 |  
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| noop 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 259
 
 
 | 
			
				|  Verfasst am: 12.08.2007, 16:41    Titel: TerminateProcess |   |  
				| 
 |  
				| Hi, Ich kriegs einfach nicht hin.
 Ich möchte einen beliebigen Prozess killen, z.b mspaint.exe
 Als Fehlermeldung bekomme ich, dass ich verschiedene Pointertypen übergebe(...wo übergebe ich bitte Pointer???)
 
 
  	  | Code: |  	  | #include once "windows.bi"
 
 
 DIM hWnd AS hwnd
 DIM Task AS LPDWORD
 dim exitcode as LPDWORD
 DIM Result AS long
 Dim Title AS STRING
 
 hwnd=findwindow(0,strptr("Unbenannt - Paint"))
 
 Result = GetWindowTextLength(hWnd) + 1
 Title = Space$(Result)
 Result = GetWindowText(hWnd, Title, Result)
 Title = Left$(Title, Len(Title) - 1)
 print title
 result=0
 
 result=GetWindowThreadProcessId(hWnd,task)
 
 Task = OpenProcess(PROCESS_TERMINATE, false, result)
 
 GetExitCodeProcess(task,exitcode)
 Result = TerminateProcess(task, exitcode)
 print result
 
 Result = CloseHandle(Task)
 
 sleep
 
 | 
 
 Weiß jemand was daran falsch ist?
 
 
 mfg noop
 |  |  
		| Nach oben |  |  
		|  |  
		| volta 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 1876
 Wohnort: D59192
 
 | 
			
				|  Verfasst am: 12.08.2007, 18:05    Titel: |   |  
				| 
 |  
				| oh ja doch, du benutzt jede Menge Pointer   Was du mit Titelstring da anstellst habe ich nicht verstanden.
 Hier ein Beispiel, das den Rechner aufruft und dann den Prozess beendet.
 
  	  | Code: |  	  | #include once "windows.bi" 
 Dim Title As String="Rechner"
 Shell "Start CALC.EXE"
 Sleep 2000 'Zeit den Rechner anzuzeigen
 
 
 Dim hWnd As HWND
 Dim TaskID As DWORD
 Dim hproc As HANDLE
 Dim exitcode As DWORD
 Dim Result As Integer
 Screen 18,32
 hwnd = findwindow(0,Title)
 If hwnd = 0 Then
 Print "kein Fenster '"+Title+"' gefunden!"
 Sleep
 End
 End If
 
 GetWindowThreadProcessId(hWnd,@TaskID)
 
 hproc = OpenProcess(PROCESS_TERMINATE, 0, TaskID)
 
 GetExitCodeProcess(hproc,@exitcode)
 
 Result = TerminateProcess(hproc, exitcode)
 
 If Result Then
 Print  Title + " nicht mehr aktiv!"
 End If
 CloseHandle(hproc)
 Sleep
 | 
 _________________
 Warnung an Choleriker:
 Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
 |  |  
		| Nach oben |  |  
		|  |  
		| noop 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 259
 
 
 | 
			
				|  Verfasst am: 13.08.2007, 15:12    Titel: |   |  
				| 
 |  
				| Super :tumbup: Danke
  |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten.
 Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
 Du kannst deine Beiträge in diesem Forum nicht löschen.
 Du kannst an Umfragen in diesem Forum nicht mitmachen.
 
 |  |