ProcessID eines anderen Programms ermitteln?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

haste die beiden del.bat im UserLibraries und im Resident-Ordner ausgeführt, ansonsten wenns immer noch nicht geht, alle UserLibraries entfernen und stück für stück wieder installieren, bis der Fehler auftritt.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

IcedCoffee hat geschrieben:da bekomme ich den selben error < no message >
edit: ne beim standart pb editor bekomme ich die nachicht ""
als MessageRequester("PureBasic","",#MB_ICONHAND)
Auch bei dem PBOSL Beispielcode?
Füg den mal ein, und führe mal aus!
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PAMKKKKK hat geschrieben:
IcedCoffee hat geschrieben:da bekomme ich den selben error < no message >
edit: ne beim standart pb editor bekomme ich die nachicht ""
als MessageRequester("PureBasic","",#MB_ICONHAND)
Auch bei dem PBOSL Beispielcode?
Füg den mal ein, und führe mal aus!
Er bekommt den Fehler bei:

Code: Alles auswählen

Debug ExamineProcesses() 
Da ist das Testen des Beispielcodes wohl mehr als überflüssig :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
IcedCoffee
Beiträge: 115
Registriert: 09.07.2005 12:11
Wohnort: Fürstenwald [Internat], Berlin[wen keine lust auf Internat], Wildau[Einfamilienhaus]
Kontaktdaten:

Beitrag von IcedCoffee »

so ich habe PB jetzt noch mal deinstall und neuinstall
und alle PBOSL ordener in meinen PB ordener kopirt
und PureLibraries\UserLibraries\PBOSL DELOLD.bat und Residents\PBOSL DELOLD.bat ausgefürt

und wen ich jetzt PB starte bekomme ich die meldung "Duplicated library command: CallCOM() (in libraries PBOSL_OOP and COM_DX)"

so was soll cih jetzt machen?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Die DelOld.bat sollte eigentlich die CallCom löschen. Dann lösche sie so, die ist im PBOSL-Paket unter anderem Namen enthalten.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
IcedCoffee
Beiträge: 115
Registriert: 09.07.2005 12:11
Wohnort: Fürstenwald [Internat], Berlin[wen keine lust auf Internat], Wildau[Einfamilienhaus]
Kontaktdaten:

Beitrag von IcedCoffee »

so das selbe problem hatte ich jetzt noch mal mit HighResTimer [habe ich auch gelöscht]

jetzt kann ich den PB editor starten [habe ich auch gemacht]
und jetzt kann ich eigentlich auch Debug ExamineProcesses() ausfüren
geht aber nicht da ich wider den fehler "" bekomme also
MessageRequester("PureBasic","",#MB_ICONHAND)

was soll ich jetzt machen?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Sag mal, hast Du zufällig noch die "UserLibraries.exe" vom PureArea.net. Die darfste auf keinen Fall installieren, ist total veraltet. Wird auch nirgends mehr zum Download angeboten.
Am besten nur die Libraries, die Du benötigst und möglichst keine alten installieren.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

Wenn garnix mit BOSL geht nimm das hier.
PBOSL ist aber gut und sollte laufen.

Code: Alles auswählen

; Author: Hi-Toro: Modified by Pamkkkkk 12.August 2005
; Date: 30. November 2003
; Should run on all Windows version from Win95 till WinXP !!


Procedure.b KillProcess (PID) 
; Author: Hi-Toro
; Date: 30. November 2003
; Kills a Process by given Process Number (ID) 
; Returns #True if Process is killed #False if its not
  
  #PROCESS_TERMINATE = $1 
  #PROCESS_CREATE_THREAD = $2 
  #PROCESS_VM_OPERATION = $8 
  #PROCESS_VM_READ = $10 
  #PROCESS_VM_WRITE = $20 
  #PROCESS_DUP_HANDLE = $40 
  #PROCESS_CREATE_PROCESS = $80 
  #PROCESS_SET_QUOTA = $100 
  #PROCESS_SET_INFORMATION = $200 
  #PROCESS_QUERY_INFORMATION = $400 
  #PROCESS_ALL_ACCESS = #STANDARD_RIGHTS_REQUIRED | #SYNCHRONIZE | $FFF 
  
  ; This appears to be pretty much how Windows kills a program if you 'End Process' 
  ; from the Task Manager. Note that this is 'unfriendly'! 
  
  result = #False
  phandle = OpenProcess_ (#PROCESS_TERMINATE, #False, PID) 
  If phandle <> #Null 
    If TerminateProcess_ (phandle, 1) 
      result = #True 
    EndIf 
    CloseHandle_ (phandle) 
  EndIf 
  ProcedureReturn result 
EndProcedure 

Procedure.b Kill_Prozess_by_Name(ProcName.s)
; Author: Hi-Toro: Modified by Pamkkkkk 12.August 2005
; Date: 30. November 2003
; Should run on all Windows version from Win95 till WinXP !!
; Crowls thru the running Processes, to find the Prozess ID from a given Prozessname
; Returns #True if Process is found #False if its not found
  
PID.l = 0
 
#TH32CS_SNAPHEAPLIST = $1 
#TH32CS_SNAPPROCESS = $2 
#TH32CS_SNAPTHREAD = $4 
#TH32CS_SNAPMODULE = $8 
#TH32CS_SNAPALL = #TH32CS_SNAPHEAPLIST | #TH32CS_SNAPPROCESS | #TH32CS_SNAPTHREAD | #TH32CS_SNAPMODULE 
#TH32CS_INHERIT = $80000000 
#INVALID_HANDLE_VALUE = -1 
#PROCESS32LIB = 9999 

Structure PROCESSENTRY32 
  dwSize.l 
  cntUsage.l 
  th32ProcessID.l 
  th32DefaultHeapID.l 
  th32ModuleID.l 
  cntThreads.l 
  th32ParentProcessID.l 
  pcPriClassBase.l 
  dwFlags.l 
  szExeFile.b [#MAX_PATH] 
EndStructure 

; NOTE: I've chosen to add processes to this list so that it can be played with as necessary... 

NewList Process32.PROCESSENTRY32 () 

; Add processes to Process32 () list... 

If OpenLibrary (#PROCESS32LIB, "kernel32.dll") 
  
  snap = CallFunction (#PROCESS32LIB, "CreateToolhelp32Snapshot", #TH32CS_SNAPPROCESS, 0) 
  
  If snap 
    
    DefType.PROCESSENTRY32 Proc32 
    Proc32\dwSize = SizeOf (PROCESSENTRY32) 
    
    If CallFunction (#PROCESS32LIB, "Process32First", snap, @Proc32) 
      
      AddElement (Process32 ()) 
      CopyMemory (@Proc32, @Process32 (), SizeOf (PROCESSENTRY32)) 
      
      While CallFunction (#PROCESS32LIB, "Process32Next", snap, @Proc32) 
        AddElement (Process32 ()) 
        CopyMemory (@Proc32, @Process32 (), SizeOf (PROCESSENTRY32)) 
      Wend 
      
    EndIf    
    CloseHandle_ (snap) 
    
  EndIf 
  
  CloseLibrary (#PROCESS32LIB) 
  
EndIf 

; suche Prozess der gekillt werden soll
ResetList (Process32 ()) 

While NextElement (Process32 ())
  If  UCase(ProcName.s) = UCase(PeekS (@Process32 ()\szExeFile))
    PID = PeekL (@Process32 ()\th32ProcessID)
  EndIf
Wend

; Auflistung aller Prozesse und der PID
; Debugger ausgabe !!!
ResetList (Process32 ()) 

While NextElement (Process32 ())
  Debug PeekS (@Process32 ()\szExeFile) + " PID " + Str(PeekL (@Process32 ()\th32ProcessID))
Wend

If PID > 0
  If  KillProcess (PID)
    ProcedureReturn #True
  EndIf
EndIf
ProcedureReturn #False
EndProcedure 


;-Example Call :::

Debug Kill_Prozess_by_Name("haste_nicht.exe")

; ExecutableFormat=Windows
; EOF
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
IcedCoffee
Beiträge: 115
Registriert: 09.07.2005 12:11
Wohnort: Fürstenwald [Internat], Berlin[wen keine lust auf Internat], Wildau[Einfamilienhaus]
Kontaktdaten:

Beitrag von IcedCoffee »

@ts-soft: nö habe ich nicht [ich weiss ja nicht mal was das ist]
@PAMKKKKK: THXTHX ich nehme jetzt einfach deines auch wenn mir das PBOSL besser gefallen würde aber...
Antworten