AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Handle einer Anwendung heraus finden um diese fernzusteuern
Thema durchsuchen
Ansicht
Themen-Optionen

Handle einer Anwendung heraus finden um diese fernzusteuern

Ein Thema von Friday · begonnen am 30. Mär 2018 · letzter Beitrag vom 31. Mär 2018
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 30. Mär 2018, 20:58
Alternativ könntest du das Programm auch über dein eigenes Tool starten, eine DLL injecten und dann direkt die gewünschten Operationen ausführen. Die Handles bekommst du dann z.B. indem du MSDN-Library durchsuchenCreateWindow oder sowas wie MSDN-Library durchsuchenRegisterClass hookst.
Wie schon gesagt da du selber weist das sich das Handle immer ändert wird es ohne Hook wie hier vorgeschlagen nicht funktionieren.
Selbst wenn du die Anwendung selbst startest und somit die Kontrolle darüber hast wird es ohne Hook nichts nutzen.

Aber.. habe es damit selbst schon versucht und sein lassen weil es die Anwendung ausreizt die hat mehr mit dem Hook zu tun als mit anderen Dingen.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 30. Mär 2018, 23:03
Nach Ostern such ich Dir eine Funktion raus, die nach dem .exe Prozess sucht und Dir dessen Handles gibt.
Solange sich der .exe Name nicht auch jedesmal ändert, klappt es.
Das Problem was Du dann lösen musst ist folgendes, finde heraus welches Handle das gesuchte ist, meine Funktion liefert nur alle mit dem Prozess verbundenen.
Falls Dir sowas weiterhelfen kann such ich Montag mal.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Friday

Registriert seit: 6. Mai 2008
106 Beiträge
 
Delphi 12 Athens
 
#3

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 31. Mär 2018, 09:17
Nach Ostern such ich Dir eine Funktion raus, die nach dem .exe Prozess sucht und Dir dessen Handles gibt.
Solange sich der .exe Name nicht auch jedesmal ändert, klappt es.
Das Problem was Du dann lösen musst ist folgendes, finde heraus welches Handle das gesuchte ist, meine Funktion liefert nur alle mit dem Prozess verbundenen.
Falls Dir sowas weiterhelfen kann such ich Montag mal.
Danke, aber das macht die Funktion hier schon: https://www.delphi-treff.de/tipps-tr...mens-erhalten/

Jedoch erhalte ich damit auch nicht das gesuchte Handle.
Ich hatte dann vermutet dass mein gesuchtes Handle ein Child-Handle ist dass ich mit EnumChildWindows raus kriege, doch ein solch erstellter Callback wird nie aufgerufen...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 31. Mär 2018, 09:36
Und wenn Du den Code dahingehend erweiterst, dass er nicht beim ersten gefundenen Fenster aufhört, sondern die ermittelten Fensterhandles in einer Liste ablegt? Es kann ja mehrere Fenster je Prozess geben, evtl. findest Du nur das falsche.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 31. Mär 2018, 10:18
Die frage die da noch wäre was möchtest du machen denn davon ist es abhängig ob es überhaupt funktionieren kann.

Wenn du es so machen möchtest und in eine INI speicherst dann geht es definitiv nicht denn der Klassenname ändert sich ja immer.
Zitat:
[Visual Basic]
ArbPfad=
FensterTitel=Project1 - Microsoft Visual Basic [design]
KlassenName=wndclass_desked_gsk
Sollte sich der Fenster Titel ändern dann ebenfalls nicht.

Wenn ohne speichern dann geht es nur über Hook oder einer Funktion welche immer und zu jeder zeit EnumWindows ausführt
und dir Die Handles in einer Stringliste oder der gleichen abspeichert.

Da kannst du dann anhand des Fenster Titel vergleichen.
Winspector

sorry möchte noch auf mein Programm hinweisen.
Starte die Anwendung die Probleme macht.
Vorher natürlich mein Example.

Dann klicke auf Fensterlist und wähle aus der Combo das Programm.
Sollte das Programm über Menüs verfügen solltest du diese damit steuern können.
Vielleicht hilft es dir ja.


gruss

Geändert von EWeiss (31. Mär 2018 um 10:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 31. Mär 2018, 12:06
Den Wininspector bekomme ich nicht geladen, da erscheint nur spamm wenn ich auf Download klicke.
Ich selbst bin Fan von -=Assarbad=- & Eugen Honeker's EDA Programm.
@EWeiss: Dein Tool macht genau was du sagt, also klappt prima, nur irgendwie funktioniert ein Maximieren/Resize nicht.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Handle einer Anwendung heraus finden um diese fernzusteuern

  Alt 31. Mär 2018, 12:08
Zitat:
nur irgendwie funktioniert ein Maximieren/Resize nicht.
Bei mir schon
EDIT:
Ach so du meinst die Form selbst.. ja das soll so sein siehe AutoSize = True.
Habe lediglich vergessen zusätzlich noch BorderIcons [biMaximize] auszuschalten.

Aber darum geht es hier nicht ist nur ein Sample für den Thread Ersteller damit er prüfen kann ob er das Handle der Anwendung findet.
Zitat:
Ich selbst bin Fan von -=Assarbad=- & Eugen Honeker's EDA Programm.
Unbrauchbar weil es im Grunde nichts tut.

Winspector arbeitet in Realzeit und gibt alle Messagen inklusive Handle des gesamten System aus.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz