Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

16.06.2003, 15:16

Probleme mit DInput und SysMouse

Ich hab folgende Methode gebastelt umDirectInput mit der SysMouse und dem SysKeyboard zu initalisieren:


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
bool 3DE_CInput::Init()
{   
    //DirectInput8 Objekt erstellen
    if(FAILED(DirectInput8Create( GetModuleHandle(NULL),DIRECTINPUT_VERSION, IID_IDirectInput8,
                (void**)&3DE_CInput::m_lpDI, NULL)))
        return FALSE;
    //TastaturDevice
    if(FAILED(m_lpDI->CreateDevice(GUID_SysKeyboard, &3DE_CInput::m_lpDIKeyboard, NULL)))
        return FALSE;
    //Datenformat
    if(FAILED(3DE_CInput::m_lpDIKeyboard->SetDataFormat(&c_dfDIKeyboard)))
        return FALSE;
    //Zugriff
    if(FAILED(3DE_CInput::m_lpDIKeyboard->SetCooperativeLevel(3DE_g_hWnd,
                DISCL_NONEXCLUSIVE|DISCL_FOREGROUND))) 
        return FALSE;
    //Tastaturzugriff aktivieren
    if(FAILED(3DE_CInput::m_lpDIKeyboard->Acquire()))
        return FALSE;
    //MausDevice
    if(FAILED(3DE_CInput::m_lpDI->CreateDevice(GUID_SysMouse, &3DE_CInput::m_lpDIMouse, NULL)))
        return FALSE;
    //Zugriff
    if(FAILED(3DE_CInput::m_lpDIMouse->SetCooperativeLevel(3DE_g_hWnd, DISCL_EXCLUSIVE | DISCL_FOREGROUND)))
        return FALSE;
    // Datenformat
    if(FAILED(3DE_CInput::m_lpDIMouse->SetDataFormat(&c_dfDIMouse2)))
        return FALSE;
    //Mauszugriff aktivieren
    if(FAILED(3DE_CInput::m_lpDIMouse->Acquire()))
        return FALSE;

    return TRUE;
};


So, das Problem ist, das Keyboard funzt,
die Mouse nicht!

Folgende Methode gibt FALSE zurück:

Quellcode

1
2
3
    //MausDevice
    if(FAILED(3DE_CInput::m_lpDI->CreateDevice(GUID_SysMouse, &3DE_CInput::m_lpDIMouse, NULL)))
        return FALSE;


Woran könnte das denn nu liegen?
Thx, Zion

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

16.06.2003, 15:38

Funktioniert das DirectX-SDK-Beispielprogramm für die Maus? Hast Du überhaupt eine Maus? ;)

Anonymous

unregistriert

3

17.06.2003, 12:15

Nat[rlich hab ich ne Maus, und das DInput Sample funyt auch perfekt,...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

17.06.2003, 12:49

Und das TriBase-Beispielprogramm?
Wird die Maus enumeriert?

5

17.06.2003, 15:38

Quellcode

1
2
3
//MausDevice 
   if(FAILED(3DE_CInput::m_lpDI->CreateDevice(GUID_SysMouse, &3DE_CInput::m_lpDIMouse, NULL))) 
      return FALSE;
Was für einen Fehler wirft er denn überhaupt aus?
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige