Deutsch
Forum

Fremdfenster - Tastaturabfrage

 

Timotheus
Hallo,

Ich habe folgendes Problem. Es gibt ein Fremdfenster, dises ruft ein zweites Programm auf, und übergibt dass Hauptfenster Handle. Mit dem zweiten Programm möchter ich jetzt die Tastaturabfrage machen. Aber dass Fenster wurde ja nicht von dem zweiten Programm erzeugt. Dabei ist auch wichtig dass es wirklich ein Programm ist, und kein Thread.

Kurz:
Wie zwänge ich dass Handle dieses Fenster in die System-Variable %HWnd, damit es Profan anerkennt, und ich mit %ScanKey die Abfrage machen kann?

Timo
 
20.07.2005  
 



Ich verstehe den Sinn nicht - daher fällt mir auch nichts passendes ein. Vielleicht erleuterst Du das Ganze noch etwas genauer. Ich verstehe nur Bahnhof.

Handelt es sich bei dem durch das erste Programm gestarteten zweiten Programm um eine KonsolenApp?

Salve, iF.
 
20.07.2005  
 




Timotheus
Also, im ersten Programm wird das Programm eingegeben, dass zu einer bestimmten Zeit gestartet wird, ich habe also keine direkte Kontrolle über das Erste.
Das Zweite wird gestartet, und soll jetzt die auf diesem Fenster speziell gedrückte Tasten ermitteln. Ganz einfach!

Timo
 
20.07.2005  
 



Probiere Dich am Themenfinder. [...] 

Salve.
 
20.07.2005  
 



Hallo Timo...

Ich hätte da zumindestens eine Idee - keine Ahnung, ob das klappt. Wenn ich aus meiner Nachtschicht komme, teste ich das mal aus.
 
20.07.2005  
 




Timotheus
@iF: Naja, wenn es nur eine Taste wäre, die ich abfragen wollte, aber ich würde gerne den Rückgabewert der gedrückten Taste erhalten, und nicht ob eine Taste im Moment gedrückt ist.

Timo
 
20.07.2005  
 



Hallo Timo...

Erst mal ein paar Vorüberlegungen, vielleicht kommst du dann schon selbst zurecht:

Mit der API AttachThreadInput ist es möglich, Eingaben eines fremden Threads auf den eigenen Thread umzuleiten. Wie man damit den Focus eines Fremdfensters erhält, habe ich ja mal gezeigt.

Mit der API GetMessage müßte es dann eigentlich möglich sein, zumindestens an die Message WM_KEYDOWN zu kommen, die den Scancode der gedrückten Taste übermittelt. Frank Abbing hat auf seiner Homepage eine Message.DLL als Freeware - vielleicht klappt das nach der Umleitung auch damit.

Mit der API GetAsyncKeyState und einzelnen IF-Abfragen habe ich das auch schon mal gemacht - mit Profan ist das aber viel zu langsam => evtl. über Profan2Cpp?

Desweiteren funktioniert das über Hooks und DLLs (beste Lösung) => dafür ist Frank Abbing der Experte. Er hat mal einen sehr guten Keylogger gebaut...
 
20.07.2005  
 




Timotheus
GetAsyncKeyState geht!

Das hätte ich nicht gedacht, weil in der API-Lybrary, sowie in der Win32.hlp steht drin, dass der Rüchgabewert nur seit dem letzten Aufruf abgefragt wird. Also wenn F gedückt wird, und A abgefragt wird, müsste dass F doch eigentlich aus dem Speicher verschwinden, oder nicht?

Timo
 
20.07.2005  
 



Hallo Timo...

GetAsyncKeyState ist eine meiner Lieblingsfunktionen, ist in fast jedem Programm von mir drin.

Zu beachten:
Wird bei Abfrage zurückgesetzt. D.h., willst du diese Funktion benutzen, mußt du, bevor du sie wirklich verwendest, die Funktion erst einmal aufrufen um den evtl. enthaltenen Wert auf 0 zurückzusetzen - das ist in der WIN32.HLP gemeint.
Außerdem klauen sich zwei Programme die diese Funktion benutzen evtl. gegenseitig die Tastendrücke.
 
21.07.2005  
 



Guten Tag.

Die GetKeyState-API reicht föllig und ist viel besser geeignet.
 
24.07.2005  
 



Hallo Werner...

Das will ich dir gerne glauben - schreib doch mal einen Code mit GetKeyState:
Ich möchte, daß eine Messagebox erscheint, wenn in einem anderen Programm die Taste F12 gedrückt wird - und das auf allen 32Bit Windows Betribssystemen...
Das Problem hatten wir vor ein paar Jahren schon mal.
 
25.07.2005  
 




Timotheus
Hallo,

Nochmal ich. Passt ungefähr zu dem Thema, deshalb schreibe ich nochmal hier rein. Ich möchte jetzt auch noch die Messages von einem anderen Fenster auslesen können. Beide Programme habe ich selbst gestartet. Mit AttachThreadInput scheint es in Bezug auf Messages nicht ganz hinzuhauen. Gibt es da eine andere Möglichkeit?

Timo
 
06.08.2005  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.390 Betrachtungen

Unbenanntvor 0 min.
Matzbub03.02.2024
AndreasS31.01.2019
Christof Neuß19.04.2018
Stringray08.10.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie