Bonjours.

voila je me suis mis à directx 9 sous windows xp sp3.
et avant de commencer la 3d je voulais déjà aprendre à utiliser direct input (genre afficher les valeurs des touches).
j'ai dl dx SDK avec les samples et tutos. problème les tutos direct input je peux pas compiler les samples il me manque "afxres.h" alors j'ai voulu faire les tutos qui ne sont naturellement pas les même que les samples (allez savoir pourquoi) et c'est là que l'histoire commence ^^'.

lorsque je demande d'acquérir le clavier il me sort un E_ACCESSDENIED en retour
là je me dis bizzard peut être qu'il était pas dispo bon je vais faire une boucle de 5 sec pour voir si je peux l'avoire à la longue et ben non rien y fait il veut pas prendre mon clavier et je pige pas pourquoi TT_TT.

voici le code de mon initialisation du clavier pour direct input :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
HRESULT InitInput (HWND hWnd){
	HRESULT hr;
 
	hr = DirectInput8Create(GetModuleHandle(NULL),	// instance du programme
							DIRECTINPUT_VERSION,	// version de direct input
							IID_IDirectInput8,		// version de l'interface retournée
							(void **) &g_pDI,		// la référence à l'interface qui va être créée
							NULL);					// l'adresse de l'objet qui contrôle l'interface de le cas d'une agregation COM.
													// Habituellement à NULL car l'agrégation n'est pas souvent utilisée
	if FAILED(hr){
		MessageBox( NULL, L"Impossible de créer l'objet DIRECTINPUT8!!\nFermeture de l'application.", L"Tutorial.exe", MB_OK);
		Cleanup();
		return hr;
	}
 
	hr = g_pDI->CreateDevice(GUID_SysKeyboard,	// l'identifier unique du contrôle à créer
							 &g_pDIDevice,		// l'objet qui reçoit l'instance du contrôleur
							 NULL);				// l'adresse de l'objet qui contrôle l'interface de le cas d'une agregation COM.
												// Habituellement à NULL car l'agrégation n'est pas souvent utilisée
	if FAILED(hr){
		MessageBox( NULL, L"Impossible de créer l'objet du clavier !!\nFermeture de l'application.", L"Tutorial.exe", MB_OK);
		Cleanup();
		return hr;
	}
 
	hr = g_pDIDevice->SetDataFormat(&c_dfDIKeyboard);
 
	if FAILED(hr){
		MessageBox( NULL, L"Impossible de créer l'objet du clavier !!\nFermeture de l'application.", L"Tutorial.exe", MB_OK);
		Cleanup();
		return hr;
	}
 
	hr = g_pDIDevice->SetCooperativeLevel( hWnd, DISCL_FOREGROUND|DISCL_NONEXCLUSIVE);
 
	if FAILED(hr){
		MessageBox( NULL, L"Impossible de créer l'objet du clavier !!\nFermeture de l'application.", L"Tutorial.exe", MB_OK);
		Cleanup();
		return hr;
	}
 
	DWORD time = timeGetTime();
	while (FAILED(hr = g_pDIDevice->Acquire()) && (timeGetTime() - time) < 5000);
 
	if FAILED(hr){
		MessageBox( NULL, L"Impossible d'aquérir l'objet du clavier !!\nFermeture de l'application.", L"Tutorial.exe", MB_OK);
		Cleanup();
		return hr;
	}
 
	return hr;
}
oh et voici mon clavier le logiteck G11

si ça peut venir de ça...

merci d'avance.