Autor Beitrag
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Fr 12.12.08 17:06 
ausblenden Delphi-Quelltext
1:
GetWindowThreadProcessID(Wnd,@pid);					
Doppeldeutiger Überladener Aufruf von dieser Funktion
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 17:13 
Dann musst Du mal die Codevervollständigung in Anspruch nehmen oder eine gute Stunde warten, ich kann hier mit Delphi 5 nicht nachsehen.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Fr 12.12.08 17:27 
Wie geht denn eine Codevervollständigung
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 17:29 
Gib mal GetWindowThreadProcessID( ein und warte ein wenig oder drücke CTRL - SPACE. Dann sollte ein Hintfenster mit möglichen Parametern erscheinen.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Fr 12.12.08 17:32 
Ahso das meinst du, da hab ich vorhin schon getan, leider kommen da beim 2ten. Parameter zwei Möglichkeiten in Frage (Cardinal und Pointer) und keins der beiden scheint zu klappen.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 17:36 
Und wenn Du das @-Zeichen weglässt?
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Fr 12.12.08 17:44 
Schon alles erdenkliche versucht, nichts klappt......welche uses Klausel sollte eigentlich eingebunden werden.
Hab den Verdacht ,dass das ich nicht die richtige Klausel drin habe.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 17:47 
Nächster Versuch:
ausblenden Delphi-Quelltext
1:
Windows.GetWindowThreadProcessID(Wnd,@pid);					
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 17:57 
Ich hab jetzt gleich Feierabend und versuch es zu Hause unter Delphi 2007 nochmal.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Fr 12.12.08 17:59 
Gut das klappt ;-), man man das war vielleicht eine schwere Geburt.
Ich danke vorallem dem DeddyH das er soviel Gedult mit mir hatte ;-)......
Ich versuche mich zu bessern und nicht soviele Fragen zu stellen.

MfG Nachbar
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 12.12.08 18:43 
Mir ist da noch ein anderer Ansatz eingefallen *g*
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure ListOwnForms(const sl: TStrings; OnlyVisible: Boolean = True);
var i: Integer;
begin
  sl.BeginUpdate;
  try
    for i := 0 to Screen.FormCount - 1 do
      if Screen.Forms[i].Showing or not OnlyVisible then
        sl.Add(Screen.Forms[i].Caption);
  finally
    sl.EndUpdate;
  end;
end;
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Sa 13.12.08 14:26 
Eigentlich sollte es ja möglichst mit API Funktionen gehen, da ich auch DLL Aufrufe aus meinen Programm erkennen muss. Und soviel ich weiss werden Forms aus DLL nicht als Child Fenster angezeigt? Oder gibt es da etwa doch einen Kniff?

MfG
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.12.08 14:31 
Ach, es geht um DLLs, das muss ich überlesen haben. IIRC hat die DLL ein anderes Prozesshandle als die aufrufende Instanz, das stimmt schon.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Sa 13.12.08 14:46 
Und was heisst das jetzt für mich im konkreten?
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.12.08 14:53 
Du müsstest dann nicht das eigene Prozesshandle übergeben, sondern das der DLL.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: So 14.12.08 22:54 
Und wie stelle ich das an?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.12.08 23:23 
Ich nehme an du lädst die DLL mit LoadLibrary, und die Funktion gibt dir das Handle der DLL zurück.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 15.12.08 10:21 
Nein ich lade die DLL statisch, sprich ich binde diese einfach per external Klausel ein. Ich wüsste jetzt nicht partou wie ich das Handle der DLL rauskriegen würde.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 15.12.08 11:25 
Wenn es Deine eigene DLL ist, könntest Du sie eine entsprechende Funktion exportieren lassen.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 15.12.08 12:31 
Ich muss von einer DLL einer anderen das Handle der DLL mitteilen.