Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] Textboxen und anderes aus einem Externen Programm Ansprechen
NavanBethrax
01.02.2010, 23:05
Gibt es eine möglichkeit in VB.Net Textboxen und Buttons eines andern Programms anzusprechen so das man z.B. den Button in einem anderen Programm drückt oda etwas in die Textboxen einträgt ich meine da mal sowas gelesen zu haben aba das habbich nicht ganz verstanden ...
Vll kann mir hier das jemand besser erläutern O.O
Schonmal vielen dank im Vorraus ^^
kommt ganz drauf an, aber in den meisten fällen musst du nur die DLL inportieren und dann ein bischen mit den befehlen der DLL arbeiten...
hast du einen Compiler der Microsoft Express Edition machst du das einfach über "Verweise Hinzufügen"
dann siehst du eine übersicht von DLL´s und fügst die dann hinzu...dann noch im quelltext aufrufen un los probieren ;)
Nur für bestimmte Programme gibt es eine dll um ein Programm xy anzusteuern. Mir fällt dazu nur SendKeys ein, möglich das es aber noch andere Möglichkeiten gibt.
MfG, Sawyer
aber vorher noch das fenster via prozess namen in den vordergrund setzen! sonst kommt der key nich an ^^
den scource muss ich mal raus suchen...hatte mit sowas mal probiert nen bot für ein game zu machen..der sollte aber auch nur eine aktion immer wieder machen.. :D
bei mehreren aktionen ist die methode leider etwas unpraktisch...
ich hätte eine idee...aber is nur die blanke theorie
jeder button, jede textbox hat ja ne bestimmte adresse oder?
als RAM adresse vorliegend, da der befehl ja nur sekundär im rechen-prozess ist...
leider weiß ich nich ganz wie man diese adresse rausfinden soll, klar gibt es programme mit denen man die auslesen kann...aber ka wie ich auf das spezielle element komme...
ich hoffe ich konnte ein paar nützliche denk-anstöße geben ;)
Du kannst das Tool "MIT" (aKa. "Sikuli") im zusammenhang mit VB.Net nutzen!
Also du machst Screenshots mit "MIT" und machst nen MINICODE (Benötigt aber Java!)
War letztens hier noch in den News!
MfG
Darkraiser
02.02.2010, 10:36
Soweit ich weiß ist sowas mit handles bzw Childhandles möglich. Finde einfach das Child Handle herraus und somit kannst du lesen/schreiben oder halt auch in einer form drücken ;).
http://www.pinvoke.net/default.aspx/user32.findwindowex
vllt nützt er dir ja was :)
mfg
NavanBethrax
02.02.2010, 11:01
Danke für die Zahlreichen antworten ich guck mir das mal an und melde mich wennich was gefunden hab was ich verwenden kann ... mit Sendkey klappts net ganz weil ich auch ein klick brauche .
Könnte es auch in AutoIt machen aba das wär sau viel Arbeit und würde den ablauf nicht grade beschleunigen und das Problem ist auch immer das die Fenster nicht immer am selben Punkt sind ^^
Zu dem mit dem Arbeitsspeicher fällt mir nur CheatEngine oda ähnliches ein vll einfach mal suchen kannst ja vll den inhalt der Textboxen finden was ich aba i-wie nicht glaube aba nen Button denk ich mal nicht o.ô
MfG Navan
doch es gibts eine möglichkeit du Spricht den Prozess mit dem jeweiligen "Text" inhalt an und machst ein senkey befehl^^ dazu habe ich auch ein Tool mal rausgebraucht hießt To-Send
http://code-c4.com/tut/img/bsp.png
NavanBethrax
02.02.2010, 20:30
Auf was war das jetzt bezogen ?
Und was macht dein programm bitte genau ??
auf das 1 topic von dir ist das bezogen und es schick
den prozess befehle je nach dem ^^
oder wolltest du was anderes wissen...
VooDoo666
02.02.2010, 20:36
Parameter?
Toastbrot
02.02.2010, 20:44
Du kannst auch die Position des Fenster bestimmen. Und zwar mit der API GetWindowRect. Mausklicks lassen sich selbstverständlich auch simulieren, hab aber grad keine Funktion zur Hand, einfach mal googlen.
Die Sendkeys Methode ist natürlich nicht sehr elegant (und ganz nebenbei auch stark fehlerbehaftet) . Eine Lösung wie Karlito sie beschrieben hat wäre natürlich genial!
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.