Italia
Foro

Fremdfenster - Tastaturabfrage

 

Timotheus
Ciao,

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 circa 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 possibile, 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 possibile 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. circa Profan2Cpp?

Desweiteren funktioniert das circa Hooks und DLL (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
Ciao,

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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

6.072 Views

Untitledvor 0 min.
Member 504445914.02.2025
Matzbub03.02.2024
AndreasS31.01.2019
Christof Neuß19.04.2018
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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