Process beenden, auch mit gewalt

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Process beenden, auch mit gewalt

Beitrag von DarkSoul »

Ich bin gerade dabei, eine Art Task-Manager zu bauen.

Hab mir dazu ein Stück Code besorgt, der die Processe von Windows ausliest:

Code: Alles auswählen

Procedure GetProcessList9x() 
  maxproc=0
  If OpenLibrary(0, "Kernel32.dll") 
    
    CreateToolhelpSnapshot = IsFunction(0, "CreateToolhelp32Snapshot") 
    ProcessFirst           = IsFunction(0, "Process32First") 
    ProcessNext            = IsFunction(0, "Process32Next") 
    
    If CreateToolhelpSnapshot And ProcessFirst And ProcessNext ; Ensure than all the functions are found 
      
      Process.PROCESSENTRY32\dwSize = SizeOf(PROCESSENTRY32) 
      
      Snapshot = CallFunctionFast(CreateToolhelpSnapshot, #TH32CS_SNAPPROCESS, 0) 
      If Snapshot 
        
        ProcessFound = CallFunctionFast(ProcessFirst, Snapshot, Process) 
        While ProcessFound 
          AddGadgetItem(#ProcList, -1, PeekS(@Process\szExeFile))
          ProcessFound = CallFunctionFast(ProcessNext, Snapshot, Process) 
          Delay(10)
        Wend 
      EndIf 
      
      CloseHandle_(Snapshot) 
    EndIf 
    
    CloseLibrary(0) 
  EndIf 
  
EndProcedure 

Nun habe ich eine frage: Wie kann ich den 'task-beenden'-Button damit realisieren? Hab verscheidene Möglichkeiten mit SendMessage_() und #WM_Quit versucht, aber nix funzt. Die Processe werden im moment einfach in nur ein listviewgadget aufgelistet.

Blicke das mit den ID's nicht ganz, welche muss ich da genau verwenden?
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

In der PBOSL Process Lib gibt es einige Befehle dafuer, den Source
kannst du dir ja auf 3.3 zurecht legen.
Antworten