| Autor |
Beitrag |
csigg
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 19.04.05 13:26
kann ich in Delphi die Process ID des Programms auslesen?? Moderiert von Motzi: Topic aus CLX / Delphi Language (Object-Pascal) verschoben am Di 19.04.2005 um 13:49
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 19.04.05 13:41
Ich weiß nicht. Kannst du? "GETWINDOWTHREADPROCESSID"
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 19.04.05 14:10
Ich hab das jetzt soweit:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); var neu: Pointer; begin GetWindowThreadProcessId(Handle,neu); ShowMessage(string(neu)); end; |
Dann kommt aber beim ausführen immer ne Fehlermeldung:
EAccessViolation,........
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 19.04.05 14:57
Deklariere die Variable "neu" als DWord/Cardinal und setz ein @ davor, wenn du sie in der Funktion "GetWindowThreadProcessId" benutzt. Dann kannst du den ermittelten Wert auch einfacher mit "Format" oder "IntToStr" anzeigen lassen.
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 19.04.05 15:04
geht soweit, hab das ganze jetzt aber aus einer neuen Form in meine bestehende kopiert,
und nun meldet der Compiler dass er Handle nicht kennt??????
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 19.04.05 15:08
csigg hat folgendes geschrieben: | geht soweit, hab das ganze jetzt aber aus einer neuen Form in meine bestehende kopiert,
und nun meldet der Compiler dass er Handle nicht kennt?????? |
In deine bestehende was? Wenn er "Handle" nicht kennt, was sich in dem Fall auf TForm bezieht (es sei denn, du gibst explizit "Application.Handle" an), dann wird es wohl daran liegen, dass es in deiner aktuellen Anwendung kein Handle dieser Art gibt.
Kurz gesagt: Du brauchst ein Fenster-Handle. Da du nicht geschrieben hast, welcher Art das Programm ist, in das du den Code kopiert hast, habe ich leider auch keine Lösung für dich.
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 19.04.05 15:16
Application.handle hat gereicht.
Aber warum ging es in der einen Form und in der anderen nicht??
Ich hab ein neues Projekt erstellt, nur mit einem Button, und dem Quelltext siehe oben, da ging das mit dem Handle wunderbar.
Dann hab ich den Quelltext in mein bestehendes Programm kopiert, und nix ging mir????
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 19.04.05 15:23
csigg hat folgendes geschrieben: |
Dann hab ich den Quelltext in mein bestehendes Programm kopiert, und nix ging mir???? |
Wohin kopiert? Das Handle aus der Button-Klick Methode ist die Eigenschaft TForm1.Handle.
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Di 19.04.05 15:27
In mein bestehendes Programm, in eine EventHandle Prozedur.
|
|