Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 19:01

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Mär 24, 2006 12:56 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Hallöchen,

kann nicht genau sagen, ob OpenGL oder DirectX aber ich denke mal, das es im diesen Fall unwichtig ist.

Ich habe ein Fenster wo ein Spiel läuft, wo eine Namen und Passwordabfrage mit drinn ist.
Via Handle kann ich das Fenster anwählen.

Meine Frage ist, ob es eine Möglichkeit gibt ohne weiteres mittels Delphi diese Edit-Felder anzuwählen. Hab schon versucht mit einem Tool, womit ich informationen zum Handle bekomme die Edit-Felder anzuwählen was allerdingst nicht funktionierte, da es anscheinend eine Grafische Komponente ist.

Muss ich dann wirklich die Maus dann zur Hilfe nehmen? Zum anwählen halt.

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 24, 2006 13:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Habe das mal ins Allgemeine verschoben, da es mit OpenGL jetzt so direkt nichts zu tun hat.

Also wenn das eine selbstgeschriebene Komponente ist, dann haben die intern auch eine eigene Fensterverwaltung. Und auf die interne Fensterverwaltung zurückgreifen ist so ziemlich unmöglich. Das Eingabefeld anwählen könntest du evtl. indem du einen Mausklick auf das Originalfenster simulierst. Mitunter kannst du dann auch noch Tastendrücke simulieren etc. Aber das kommt darauf an was dort benutzt wird. Wenn sie also Normale Windowsmessages verarbeiten sollte es gehen. Mit DirectInput etc dürfte es recht schwer werden. Außerdem benötigst du detailierte Informationen darüber wo sich was befindet. Allerdings wäre das alles nur in eine Richtung möglich. Die andere Anwednung würde höchstwahrscheinlich niemals antworten oder daten zurückliefern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 24, 2006 21:46 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Ok, dann bleibt mir wohl nichts anderes übrig, als meine Maus zu sagen, klicke auf position x-y.
Noch ne frage am Rande. Wie kann ich dann, wenn das Feld im "Eingabemodus" ist eine Variable an das Feld senden ?

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 24, 2006 23:02 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das klingt wie irgendein Login-Knack zeugs...

Wenn es das ist, dann find ich es ziemlich armseelig wenn mans noch nichtmal komplett selber schreiben kann...

Ganz nebenbei hat Lossy deine Frage schon beantwortet. Sicherlich willst du nicht "eine Variable" übertragen sondern einen string. Und wie gibt der Nutzer gleich Strings ein?...

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 09:38 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Entschuldige Flash das hier nicht jeder so ein Crack ist wie du. Und wenn ich schon so eine Frage stelle ist die bestimmt nicht, weil ich wissen möchte ob andere es auch wissen. Bin eigentlich niemand der irgendein Streit anfangen will aber wenn man solch überheblichen Antworten bekommt find ich es wirklich erbärmlich so unkooperativ zu sein.

Hättest mir einfach mal geschrieben, wie ich den Befehl "DirectInput" anwende, hätte ich nix gesagt.
Aber da der Herr sich ja nicht mit so billigen Sachen abgibt Frag ich erst lieber garnicht.

Terra

PS: Knacken will ich bestimmt nichts sondern nur ein String von einem Programm in ein anderes übergeben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 10:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
DirectInput ist eine Schnittstelle in DirectX. Diese ermöglicht es direkt auf die Hardware (Masu/Tastatur) zugreifen zu können. Bei einem herkömmlichen Program kannst du Maus und Tastendrücke über Windows Messages senden. Wenn die ander DirectInput verwenden fehlt diese Schicht und ich kann dir nicht sagen, ob die sich dann überhaupt noch manipulieren lassen würden.

Um Messages zu senden gibt es die Methode SendMessage und als Messages dürften WM_CHAR ganz gute Dienste leisten. Fallst du wissen möchtest was für Messages ein Programm bekommt solltest du dir mal den Winspector Spy anschauen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 12:19 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Hoho .. das Spy Programm ist recht gut aber jagt mir 25 Millionen antworten pro sekunde raus ... da das richtige zu finden ist ähm .. naja.

Trotzdem Danke für deine Antworten ... war Hilfreich !

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 12:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Da sieht man erst mal was im Windows wirklich alles vor geht. :shock: Und das ist auch nur das was an andere Programme gesendet wird. :evil:

Du kannst aber auf einzelnen Messages die rechte Maustaste drücken und dann die komplette Gruppe (z.B der Mausmesages) ausfiltern lassen. So kann man das schon recht gut auf das gewollte herrunterfiltern. In dem Messagefenster oben ist auch ein Knopf um die Aufnahme von den Messages anzuhalten oder wiederaufzunehmen. Es empfielt sich nur die wirklich wichtigen Momente aufzunehmen. Alles andere wäre gigantisch und nicht zu durchschauen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 12:56 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Also, ich konnte rausfinden, das neben dem Clienten im Spiel auch die Edit Boxen zum Login aufgeführt sind. Allerdingst besizen beide die selben Klassen und Werte, sodas man nicht zwischen Namen und Passwort Editfeld unterscheiden kann.

Terra


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 29, 2006 13:28 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
War das gerade eine Frage? ;-)

Sofern es ein typisches Passworteingabefeld ist kann man sie unterscheiden. Und zwar wird in einem Passworteingabefeld ein Passwordchar gesetzt. Das bedeutet eigentlich nur, dass jedes Zeichen des Inhalt mit diesem Zeichen ersetzt wird. Nur zum Anzeigen versteht sich.

Code:
  1.   SendMessage(Handle, EM_SETPASSWORDCHAR, Ord(FPasswordChar), 0);

So wird dieses Zeichen in der VCL gesetzt. Das Gegenstück zu SET ist natürlich GET. Also sollte dir EM_GETPASSWORDCHAR dabei helfen können die Eingabefelder unterscheiden zu können.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 30, 2006 09:26 
Offline
DGL Member

Registriert: Fr Dez 02, 2005 11:59
Beiträge: 44
Programmiersprache: Delphi XE3
Naja, ne Frage war es eigentlich nicht aber trotzdem Danke für die Antwort. :D

Vielen vielen Dank .. das nenn ich mal vernünftige Hilfe.

Terra


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]