Keyhits im Vollbildmodus anderer Programme abfragen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

DAK

Betreff: Keyhits im Vollbildmodus anderer Programme abfragen

BeitragSa, Jul 26, 2008 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es in B3D eine Möglichkeit, Keyhits abzufragen, wenn ein anderes Programm gerade verwendet und im Vollbildmodus ist?
Gewinner der 6. und der 68. BlitzCodeCompo

Abrexxes

BeitragSa, Jul 26, 2008 7:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht ohne eine zusätzliche dll die Keyhits zwischen Tastatur und Windows abfängt und diese an B3D weiter leiten würde. Das Programm würde aber auf den meisten PCs nicht laufen da Scanner das als MALWARE einstufen wurden. Dieses Verfahren wird nämlich von bösen Leuten benutzt um den PC aus zu spionieren. Wink

Wenn beide Programme von dir sind könnte man aber in einen Speicherbereich jeweils die Taste eintragen und das Fensterprogramm fragt diesen Bereich ab, aber auch dazu wäre eine kleine dll nötig da B3D keine direkten Zeiger (Pointer) kennt die dazu nötig wären (auf einen genauen Speicherbereich (Ram)verweist).

cu
 

Marek

BeitragSa, Jul 26, 2008 10:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht obs im Vollbildmodus geht, aber generell müsste es damit gehen:

Code: [AUSKLAPPEN]
Function IsKeyPressed( vKey% )
   Return ( Api_GetAsyncKeyState( vKey ) Shr 16 ) And 1
End Function


Man brauch dafür aber Virtual-Key-Codes, ne Liste dafür gibt es hier

Zudem noch die Decls...
Code: [AUSKLAPPEN]
.lib "user32.dll"

Api_GetAsyncKeyState% (vKey%) : "GetAsyncKeyState"


MfG Marek
Wer lesen kann ist klar im Vorteil...

DAK

BeitragMi, Jul 30, 2008 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
@Abrexxes: danke für den hinweis, aber da ich das prog nur für mich verwenden will, is das nicht so schlimm... das 2. prog is nicht von mir, desswegen kann ich leider nicht den selben speicherbereich dafür verwenden.

@Marek: ein großes danke, es hat wunderbar funktioniert!
Gewinner der 6. und der 68. BlitzCodeCompo

Der Eisvogel

BeitragMo, Aug 04, 2008 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Weis jmd, ob es sowas in der Art auch für die Maus gibt?
Also "GetAsyncMouseState".

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

MadMental

BeitragMo, Aug 04, 2008 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm ....
Zitat:

Ich weiß nicht obs im Vollbildmodus geht, aber generell müsste es damit gehen:

Code: [AUSKLAPPEN] [EINKLAPPEN]
Function IsKeyPressed( vKey% )
Return ( Api_GetAsyncKeyState( vKey ) Shr 16 ) And 1
End Function


Man brauch dafür aber Virtual-Key-Codes, ne Liste dafür gibt es hier

Zudem noch die Decls...
Code: [AUSKLAPPEN] [EINKLAPPEN]
.lib "user32.dll"

Api_GetAsyncKeyState% (vKey%) : "GetAsyncKeyState"


MfG Marek


guck doch einfach mal unter "hier" ... sind gleich die ersten paar ...

Der Eisvogel

BeitragMo, Aug 04, 2008 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Mausklicks werden aber leider nicht erkannt, wenn man ein andern Programm im Vordergrund hat Crying or Very sad
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Marek

BeitragMo, Aug 04, 2008 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir funktioniert das einwandfrei... kp woran es bei dir liegt :/
Wer lesen kann ist klar im Vorteil...
 

judos

BeitragDi, Jun 16, 2009 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
tschuldigung wenn ich diesen alten Thread ausgrabe, aber habe da ne frage dazu:

Wenn ich zum Beispiel die Esc Taste überwache, klappt das ganz gut, aber wenn ich die Taste "1" also die Ziffertaste 1 oberhalb der Buchstaben einmal drücke, dann bekomme ich gleich 4-8mal den keyhit über...
Weiss jemand vielleicht woran das liegen könnte?

mfg judos

The_Nici

BeitragDi, Jun 16, 2009 0:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist halt kein KeyHit, sondern ein KeyDown, weil man nur die WinAPI um die Keystates bittet. ;>
 

judos

BeitragDi, Jun 16, 2009 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah ok! Vielen Dank.

Muss leider bemerken, dass es bei manchen Tasten wie Keyhit und bei anderen wie keyDown funktioniert.
Aja und bei einigen gibts noch die Wiederholfunktion Very Happy
ganz schönes Chaos aber trotzdem schön zum gebrauchen Wink

mfg judos

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group