Eingabeobjekte fremder Programme mit eindeutiger ID
-
Hallo Leute,
bin wie wild auf der Suche nach einer Möglichkeit von Fremdprogrammen eine eindeutige ID der darin enthaltenen Objekte zu bekommen.
Ich habe mir mit FindWindow mein gewünschtes Fenster gesucht und mit 'EnumChildWindows' alle Hdl der enthaltenen Objekte rausgesucht. Nun bräuchte ich aber etwas eindeutiges wie ID oder Name, um das Objekt nach dem nächsten Programmaufruf des Fremdprogramms (neue HDLs) wieder/direkt ansprechen zu können.
Wäre für Hilfe dankbar!!!
-
Zwar bist Du in der Lage die Prozess/Thread ID zu ermitteln. Diese sind jedoch nicht konstant. Bei jedem Aufruf des Programms werden diese unterschiedlich sein. Auch Handels auf Fenster etc. werden sich ändern.
Ich denke, wenn ich Dich richtg verstanden haben, es ist die beste Lösung nach einem Prozess zu gucken, der den Namen Deiner Exe hat.
Wenn ich den Quellcode dazu gefunden habe, dann poste ich ihn Dir zu.
chris
-
das einzigste wäre wohl die resource id, den diese sind immer gleich.
allerdings glaub ich nicht das man daran kommt.
-
Was meinst Du mit "Resource ID"?
Sowas wie IDC_BUTTON1?
Da kommst Du schon dran (nur halt nicht als defined Constant, sondern als int), und zwar mit GetDlgCtrlID oder GetWindowLongPtr.
Die ist allerdings nur solange gegeben, wie beim Aufruf von CreateProcess der Parameter HMENU gesetzt ist...
-
CreateProcess? lol
-
ok man kommt dran. man lernt nie aus, danke hepi.

ich denke das wird der richtige weg sein über die res-id's

-
schrieb:CreateProcess? lol
Und wenn das Programm beendet wurde, welche Eindeutige Zugriffsmöglichkeit hast Du dann auf die Steuerelemente des Programmes bei einem Neustart?
- PID? Falsch!
- ThreadID? Falsch!
- ProzessHandle? Falsch!Was soll also dieses unqualifizierte einwerfen von "CreateProcess"?
Nichtmal lesen können die heutzutage...
-
Hepi schrieb:
Und wenn das Programm beendet wurde, welche Eindeutige Zugriffsmöglichkeit hast Du dann auf die Steuerelemente des Programmes bei einem Neustart?
beim neustart des progs sind doch die res-id's die gleichen, somit würde ich alle fenster durchlaufen und die id's vergleichen ?!?
oder sehe ich jetzt etwas falsch ?Hepi schrieb:
Nichtmal lesen können die heutzutage...
wer ? was ?
-
miller, lies mein Posting nochmal: Ich habe nicht ohne Grund den komischen unregistrierten Vogel zitiert...
-
loooooool Hepi, ich kann nicht mehr. Du hast in deinem Beitrag selbst CreateProcess geschrieben. Deswegen mein Posting.
-
die würfel sind gefallen
ich hab den post mit pid usw einfach ignoriert 
-
Gott, ich werde alt und senil... ich meine natürlich CreateWindow...
Nicht mal schreiben kann ich...
