JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=2d5c0f81d721b1752178b36b93037d83Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DirectInput SetCooperativeLevel() Handle Problem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
fast hawk
Senior JLI'ler



Anmeldedatum: 15.07.2005
Beiträge: 237
Wohnort: Freiburg
Medaillen: Keine

BeitragVerfasst am: 06.07.2006, 12:58    Titel: DirectInput SetCooperativeLevel() Handle Problem Antworten mit Zitat

Hi Leute
Hab jetzt wieder ein bisschen Zeit zum programmieren gefunden und bin auf ein mir schier unlösbares Problem gestoßen.

Ich will ein Programm machen was im hintergrund läuft und aufzeichnet wann der Computer benutzt(dh. Die Maus bewegt wird) und wann er einfach nur so vor sich hin läuft(dh. keine Maus bewegung). Nun bin ich soweit das es das es eigentlich funktionieren müsste doch es hat sich herausgestellt das DirectInput nicht richtig initialiesiert wird. Der Grund ist das es ein Handle benötigt(kein NULL Handle) ich haber kein Fenster hab und so auch kein Handle.

Nun meine Frage ist wie ich zu einem Desktop Handle komm oder wie ich zu einem Buffer Handle komm ohne ein Fenster zu erzeugen?? Wo ich beim letzteren nicht sicher bin ob das nicht ein Schuss nach hinten wäre.

Danke schon mal jetzt für die Antworten.

fast hawk
_________________
Jetziges Projekt: The Ring War
Status: 40%
-----------------------------------
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
--
Lucius Annaeus Seneca (4)
röm. Philosoph, Dramatiker und Staatsmann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 06.07.2006, 13:22    Titel: Antworten mit Zitat

::GetDesktopWindow()

gibt dir das Handle des Desktops zurück
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 06.07.2006, 13:22    Titel: Antworten mit Zitat

Ist GetDesktopWindow() das was du suchst?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Christian Rousselle
Site Admin


Alter: 49
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 06.07.2006, 13:24    Titel: Antworten mit Zitat

Es gibt die Funktion GetDesktopWindow();. Das wird dir aber nicht helfen und DirectInput ist auch der falsche Ansatz. Schau dir mal Windows Hooks an - da kannst du die Maus und Tastaturnutzung besser erkennen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 06.07.2006, 13:43    Titel: Antworten mit Zitat

Wie sagt man so schön? 3 Dumme ein Gedanke ^^ wobei ich damit niemanden zu nahe treten möchte Wink

Das was du da versuchst wird doch MouseCapturing genannt, schau mal hier, dort gibts zu dem was du machen möchtest einen Ansatz:

http://www.codeproject.com/gdi/mousecapture.asp
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fast hawk
Senior JLI'ler



Anmeldedatum: 15.07.2005
Beiträge: 237
Wohnort: Freiburg
Medaillen: Keine

BeitragVerfasst am: 06.07.2006, 20:34    Titel: Antworten mit Zitat

Danke für die Antworten!

Das mit GetDesktopWindow() mag er nicht. Über MouseCapture hab ich schon einmal gegooglet und in der msdn gesucht aber nichts brauchbares gefunden. Wenn jemand material hat wär ich dankbar leider hab ich jetzt keine Zeit mehr weiter zu suchen werd das auf morgen verschieben aber langsam komm ich der Sache näher. Danke!!

Lukas
_________________
Jetziges Projekt: The Ring War
Status: 40%
-----------------------------------
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
--
Lucius Annaeus Seneca (4)
röm. Philosoph, Dramatiker und Staatsmann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FH
Super JLI'ler


Alter: 37
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 06.07.2006, 20:52    Titel: Antworten mit Zitat

Du hast die wahl zwischen der einfachen und der richtigen Lösung Wink :
Die einfache: Du erstellst ein Fenster, das sich selbst mal eben als Hidden setzt (Parameter für ShowWindow() heißt SW_HIDE). Das nimmst du für DInput, und fertig. Ob diese Lösung gut ist, bleibt zu diskutieren...
Das, was Fallen da gepostet hat, braucht AFAIK aber auch ein Fenster... Beleiben also noch die Windows Hooks.
Also, eine simpele Google-Abfrage nach "windows hooks" später:
Ich habe zwei Tutorials gefunden, die so nach dem ersten drüberschauen beide ganz gut aussehen:
Tut von tutorials.de
Tut von joachimrohde.com
Kannst sie ja mal anlesen, aber Windows Hooks scheinen mir die saubere, wenn auch wesentlich komplexere Lösung zu sein.
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
fast hawk
Senior JLI'ler



Anmeldedatum: 15.07.2005
Beiträge: 237
Wohnort: Freiburg
Medaillen: Keine

BeitragVerfasst am: 09.07.2006, 07:54    Titel: Antworten mit Zitat

Ok danke!
Das mit den Hooks klingt interiesant werd ich warscheinlich nehmen wenn das mir nicht zu komplex wird. Sonst nehm ich halt was anderes.
danke!!

fast hawk
_________________
Jetziges Projekt: The Ring War
Status: 40%
-----------------------------------
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
--
Lucius Annaeus Seneca (4)
röm. Philosoph, Dramatiker und Staatsmann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum