Autor Beitrag
csigg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 19.04.05 13:26 
kann ich in Delphi die Process ID des Programms auslesen??


Moderiert von user profile iconMotzi: Topic aus CLX / Delphi Language (Object-Pascal) verschoben am Di 19.04.2005 um 13:49
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 19.04.05 13:41 
Ich weiß nicht. Kannst du? :lol: Suche in: Delphi-Forum, Delphi-Library "GETWINDOWTHREADPROCESSID"
csigg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 19.04.05 14:10 
Ich hab das jetzt soweit:
ausblenden 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: 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



BeitragVerfasst: Di 19.04.05 15:08 
user profile iconcsigg 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: 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



BeitragVerfasst: Di 19.04.05 15:23 
user profile iconcsigg 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 19.04.05 15:27 
In mein bestehendes Programm, in eine EventHandle Prozedur.