Aktuelle Zeit: 22.05.2018 16:02

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 01.01.2018 15:02 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
RawInput könnte ein Ansatz sen ... mal sehen ob ich was hinbekomme.

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 01.01.2018 15:05 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
das ist bei DX normal. Wenn ein DX Fenster den Fokus hat, reisst es sich alles unter den Nagel. Total exklusiv.
Ist aber auch notwendig, um die höchstmögliche Ausführungsgeschwindigkeit zu ermöglichen.

Ansonsten würde DirectX nicht gebraucht werden....

_________________
PureBasic 5.46 LTS / 5.62 (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 18.01.2018 22:59 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Quelltext bitte, habe leider meine Kristallkugel vergessen

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 26.01.2018 23:17 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo,

ich soll hier wirklich 126345 Zeilen Code Posten ...... nicht dein ernst :-)

Gruss TFT

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 28.01.2018 22:05 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
tft hat geschrieben:
ich soll hier wirklich 126345 Zeilen Code Posten ...... nicht dein ernst :-)

Ich habe es in der Vergangenheit gesagt, sage es jetzt und werde es auch in Zukunft sagen ...

Du musst deinen Code solange kürzen bis das Problem isoliert ist und dann hier posten. Wie willst du es sonst lösen? Das andere Programme den Befehl GetAsyncKeyState() blockieren ist übrigens Schwachsinn, der Fehler liegt in deinem Code.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 29.01.2018 00:44 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
tft hat geschrieben:
Es gibt scheinbar Programme, die ein auslesen über oben genannte Funktion blockieren.

Schwachsinn. Dann fängt jemand im System deine User32 Bibliothek ab. Dann hast du ein ganz anderes Problem.

tft hat geschrieben:
Gibt es noch eine andere möglichkeit bei bekanntem Fenster Handle auf Tastentruck zu reagieren.

GetKeyState() und SetWindowsHook()

What’s the difference between GetKeyState and GetAsyncKeyState?

tft hat geschrieben:
Hooks funktionieren bei besagtem Fenster auch nicht .......

Klar funktionieren Hooks, besonders LowLevel. Was mir bei dir immer wieder auffällt ist das du ohne Wissen und Belege Dinge pauschalisierst. Was noch dazu kommt ist das du fast nie Quelltext ablieferst und wir wieder die Kristallkugel bemühen müssen.

_JON_ hat geschrieben:
Und &1 ist nicht ganz richtig probier mal:

Code:
If (GetAsyncKeyState_(#VK_LCONTROL) & $8000)
  Debug "Pressed Left Ctrl"
EndIf

Mir scheint das du komplett ignoriert hast was _JON_ hier geschrieben hat.

Das hier hast du vorher benutzt, was kompletter Unfug ist:
Code:
While(#True)
   Debug GetAsyncKeyState_(#VK_ESCAPE) & 1
   
    Delay(10)
Wend


Und wenig später schreibst du das:

tft hat geschrieben:
auch so funktioniert es nicht in allen Fenstern. Ich denke ich muss da einen anderen Weg gehen.

Und wieder kein Quelltext, kein Beleg, nichts. GetAsyncKeyState() funktioniert immer, dem Befehl ist scheißegal um welches Fenster es geht.

tft hat geschrieben:
ja das könnte sein . Es handelt sich dabei immer um Spiele im Fenster Modus wo es nicht funktioniert.
Gibt es da eine Möglichkeit über Direct X an die Tastenanschläge zu kommen?

Ob das DirectX-Fenster sind ist ebenfalls Latte. Wie ich bereits schrieb: GetKeyState() und SetWindowsHook()

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 30.01.2018 00:50 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo,

@Fluid Byte

Ich weis nicht ob du einfach nur rumtrollen möchtest oder deine Aussage hier zu irgend einer Frust Kompensations Terrapie gehört.
Auch glaube ich nicht das du jeden Post wirklich gelesen und Verstanden hast. Aber nur weil du aus dem Englischen Forum geflogen bist musst
du deine salzige Stimmung nicht auch hier verbreiten.
Meine Frage ist längst von anständigen Leuten in diesem Forum beantwortet worden. Nachstehender Code kann nicht bei Fenstern
im DirektX Modus funktionieren solange dieses den Fokus hat. Da DirektInput dies nicht zulässt. Die benötigten Events werden nicht erzeugt.

Code:
If OpenWindow(0,0,0,100,100,"Test")
 
  Repeat
   
    event = WindowEvent()
 
    If (GetAsyncKeyState_(#VK_LCONTROL) & $8000)
      Debug "Pressed Left Ctrl"
    EndIf
   
  Until event = #PB_Event_CloseWindow

EndIf


Das lässt sich ganz leicht nachvollziehen. Starte ein Game das 3D Verwendet und lass es im Fenstermodus laufen. In meinem Fall Black Dessert.
Starte obiges Programm und klicke das Fenster mit dem Game an und drücke Ctrl. Es erfolgt keine Debug Ausgabe. Es gibt nur 2 Tasten die trotzdem
Funktioniert. ALT F4 und die Welt gehört dir. Ach ja ... und verwende W10.

Aber ich will fähr sein ..... nicht alles was du geschrieben hast in Dünfiff ..... das mit dem Isolieren ist die einzige Vorgehensweise die in einem
solchen Fall helfen kann. Der Obige Code ist absolut Isoliert und funktioniert in diesem Speciellen Fall nicht.

Gruss TFT

PS : Das sind meine Gedanken zu diesem Thema und die Rechtschreibfehler kannst du behalten.

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 31.01.2018 01:04 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Der Kleine will spielen, gut, dann wollen wir uns mal durch deine verbale Diarrhö durchkämpfen ...

Aber erst mal eine Runde Applaus dafür dass du lauffähigen Code und den Namen der Anwendung gepostet hast. Hat nur 17 Posts gedauert, das ganze Forum ist stolz.

Bild

tft hat geschrieben:
Ich weis nicht ob du einfach nur rumtrollen möchtest oder deine Aussage hier zu irgend einer Frust Kompensations Terrapie gehört.

"Terrapie", ja genau, die Erde braucht unsere Hilfe ...

Du benutzt eine Technik die gerne von Frauen angewendet wird. Wenn man eine Diskussion aufgrund von mangelnden Fakten und Argumenten zu verlieren droht baut man einen "Nebenkriegsschauplatz" auf. Man sagt dazu auch "Nebelkerzen werfen".

Ich kommentiere das nicht weiter und nehme an du warst betrunken als du das geschrieben hast. Allerdings ist dies der letzte Versuch dir zu helfen, ansonsten musst du alleine weitermachen. Bist damit ja bisher sehr gut gefahren wie man sieht.

tft hat geschrieben:
Auch glaube ich nicht das du jeden Post wirklich gelesen und Verstanden hast.

Nicht ein Wort habe ich von deinem Geschwafel verstanden, deshalb frage ich ja nach. Nur deine verbalen Exkurse machen es extrem schwer dir zu folgen.

tft hat geschrieben:
Aber nur weil du aus dem Englischen Forum geflogen bist musst du deine salzige Stimmung nicht auch hier verbreiten.

Nebelkerzen, siehe oben

tft hat geschrieben:
Meine Frage ist längst von anständigen Leuten in diesem Forum beantwortet worden.

Gar nichts ist beantwortet, dein Problem ist nach wie vor ungelöst.

tft hat geschrieben:
Nachstehender Code kann nicht bei Fenstern im DirektX Modus funktionieren solange dieses den Fokus hat. Da DirektInput dies nicht zulässt. Die benötigten Events werden nicht erzeugt.

Code:
If OpenWindow(0,0,0,100,100,"Test")
 
  Repeat
   
    event = WindowEvent()
 
    If (GetAsyncKeyState_(#VK_LCONTROL) & $8000)
      Debug "Pressed Left Ctrl"
    EndIf
   
  Until event = #PB_Event_CloseWindow

EndIf

Bild

Ok, lass es mich erklären, so einfach wie menschenmöglich bzw. wie es deine Intelligenz zulässt ...

Es gibt keinen "DirectX-Modus". DirectX ist lediglich ein Überbegriff für diverse Schnittstellen die eine Anwendung benutzen kann. Wie bspw. Direct3D, DirectInput, DirectSound, DirectDraw, etc. Eine Anwendung kann alle, oder auch nur eine dieser Schnittstellen nutzen. Soweit klar?

Diese verwendeten Schnittstellen sind lokal, das bedeutet auf die Anwendung beschränkt die sie benutzt. Sie haben keinen Einfluss auf das Benutzen von GetAsyncKeyState() da dieser Befehl aus einer anderen Anwendung, Prozess, Thread aufgerufen wird.

All das, sage ich basierend auf der Annahme, das du 100% weißt das "Black Desert" DirectX-Schnittstellen, und deinem konkreten Beispiel DirectInput verwendet. Ein Spiel das circa 7 Monate alt ist und DirectInput verwendet ist extrem unwahrscheinlich. Kein Mensch benutzt heute noch DirectInput.

Zum Verständnis:

DirectInput ist nichts weiter als ein "Wraper" für die WM_KEY* Systemnachrichten was von XInput abgelöst wurde. Selbst Microsoft rät davon ab, man soll stattdessen gleich direkt die WM Nachrichten für Keyboard und Maus abfragen. Also: WM_KEYDOWN, WM_SYSKEYDOWN, etc.

Außerdem hast du immer noch nicht den Unterschied zwischen GetAsyncKeyState() und GetKeyState() begriffen. Ich habe extra das hier gepostet:

What’s the difference between GetKeyState and GetAsyncKeyState?

Falls es du immer nicht verstehst, hier in Deutsch und einfach formuliert:

http://blog.m-ri.de/index.php/2008/06/1 ... verwenden/

Zum Quelltext:

Es gibt hier dutzende Variablen bzw. Fehlerquellen. Dein mangelndes Fachwissen und ständiges Pauschalisieren tun ihr übriges.

- Woher wissen wir das dies der komplette Code ist und du nicht wieder was vergessen hast?
- Der Code funktioniert bei mir einwandfrei, getestet (Vollbild & Fenster) mit: COD MW2, COD MW3, Shadow Of Mordor und Prey
- man sollte wenn möglich GetKeyState(), und nicht GetAsyncKeyState() verwenden. Lies dir endlich mal die Artikel durch
- du benutzt kein Delay() was zu ungewollten Verhalten führen kann

Anmerkung zu Delay():

Ich habe an einem Tool gearbeitet welches per SendInput() Eingaben sendet wenn man bestimmte Maustasten drückt. Diese Abfragen können die Anwendung um die es geht einfrieren wenn sich zwischen den Abfragen kein Delay() befindet. Ich weiß das verstehst du nicht, lass es mich erklären. In deinem Code-Beispiel fragst du GetAsyncKeyState() ab, und zwar so schnell wie es dein Prozessor hergibt. Um es zu vereinfachen, es ist so als ob du "Black Desert" zweimal laufen hast. Du greifst unnötig viel Rechenleistung für sehr banale Aufgaben ab. Schon ein Delay von 1ms kann Wunder wirken und unerwünschte Nebeneffekte eliminieren.

tft hat geschrieben:
Das lässt sich ganz leicht nachvollziehen. Starte ein Game das 3D Verwendet und lass es im Fenstermodus laufen. In meinem Fall Black Dessert.
Starte obiges Programm und klicke das Fenster mit dem Game an und drücke Ctrl. Es erfolgt keine Debug Ausgabe.

Um mal dich selbst zu zitieren:

"Auch glaube ich nicht das du jeden Post wirklich gelesen und Verstanden hast."

Zum Letzten mal, welches Spiel du startest und ob es im Fenster oder Vollbild läuft ist scheißegal.

tft hat geschrieben:
Aber ich will fähr sein ..... nicht alles was du geschrieben hast in Dünfiff ..... das mit dem Isolieren ist die einzige Vorgehensweise die in einem
solchen Fall helfen kann. Der Obige Code ist absolut Isoliert und funktioniert in diesem Speciellen Fall nicht.

Wer kennt sie nicht die Sendung "Hart aber Fähr" .......

tft hat geschrieben:
PS : Das sind meine Gedanken zu diesem Thema und die Rechtschreibfehler kannst du behalten.

Dein fehlendes Selbstbewusstsein treibt dich in die Offensive und sprichst deine Schwächen an damit du nicht mehr angreifbar bist. Eigentlich wollte ich alle 87 Rechtschreibfehler hier auflisten aber sich über deine offensichtliche Lese-Rechtschreib-Schwäche lustig zu machen ist so als wenn auf jemanden drauf knüppelt der schon am Boden liegt.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 31.01.2018 13:03 
Offline

Registriert: 08.09.2004 20:18
Wohnort: Zürich
Hallo,

OK ... ich bin verblüfft. Ändert aber nichts an der Situation. Das der von dir angesprochene Code in diesem Fall nicht Funktioniert. Aber ich zolle der Tatsache Respekt, das du in deinem letzten Post echt fiel Zeit und Intellekt reingesteckt hast und das Salzige minimiert hast. .......
Die Linkts habe ich mir angeschaut. Ein Thema das sehr umstritten diskutiert wurde.
Du schreibst das du es mit diversen Games ausprobiert hast ? Da ich von deinem Posts so angestachelt war, habe ich bei 3 Kollegen und meinem Son gegenproben gemacht. Es funktioniert nicht. Da der Entscheidene Teil nicht von mir stammt (MS API)habe ich auch keine Idee warum nicht. Ich habe auch nichts weggelassen. Der Gepostete Code ist der den ich zum testen verwendet habe.Wenn nur Windows Fenster Verwendung finden funktioniert der Code. Daher die Schlussfolgerung das es Grundsätzlich mit DX Fenstern nicht so funktioniert. Ich für meinen Teil weis, das meine Fähigkeiten in Sachen Programmieren beschränkt sind. Ansonsten müsste ich ja hier nicht Fragen stellen. Über deine Fähigkeiten weis ich nichts. Du selber schätzt dies scheinbar sehr hoch ein. Ich möchte dies hier damit bewenden lassen. Ausser du möchtest darauf antworten oder hast eine Idee warum es bei mir nicht funktioniert.

Gruss TFT

PS : Ich bin weder angepisst noch frustriert, nicht sauer oder gereizt, habe 2 Kinder gross gezogen und erfreuen mich meiner Hobbys. Ich bin ein
Stein ... wenn man mich in den Fluss wirft fliest das Wasser um mich herum. In diesem Sinne wünsche ich dir noch eine schöne Woche und danke für den Versuch Licht ins dunkle meiner Erkenntnis zu bringen

_________________
TFT

Code faster than fast.
W10 ,i5 4*3.4 MHz,16 GB Ram,GTX Titan, 3 Monitore UHD
ARDUINO Freak :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GetAsyncKeyState_(#VK_CONTROL) & 1 Funktioniert nicht ?
BeitragVerfasst: 31.01.2018 22:17 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Willkommen auf meiner Blockliste

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye