8,305
社区成员
发帖
与我相关
我的任务
分享
#include "InPut.h"
LPDIRECTINPUT8 Main_DIP; // InPut句柄
LPDIRECTINPUTDEVICE8 device; // 设备指针
HWND Local_hwnd;
int DIP (HINSTANCE instance,HWND hwnd)
{
HRESULT hr;
Local_hwnd = hwnd;
hr = DirectInput8Create(
instance, // 应用程序实例句柄
0x0800,
IID_IDirectInput8,
(void**)&Main_DIP,
NULL);
if ( FAILED(hr) ) return FALSE;
hr = Main_DIP->CreateDevice(
GUID_SysKeyboard,
&device, // 设备指针
NULL);
if ( FAILED(hr) ) return FALSE;
hr = device->SetDataFormat(&c_dfDIKeyboard); // 数据格式
if ( FAILED(hr) ) return FALSE;
hr = device->SetCooperativeLevel(
Local_hwnd, // 应用程序窗口句柄
DISCL_FOREGROUND // 前台访问
| DISCL_NONEXCLUSIVE); // 非独占访问
if ( FAILED(hr) ) return FALSE;
hr = device->Acquire();
if ( FAILED(hr) ) return FALSE;
return TRUE;
}
int KEYGET()
{
char buffer[256];
HRESULT hr;
hr = device->GetDeviceState(sizeof(buffer),(LPVOID)&buffer);
if ( FAILED(hr) ) return FALSE;
}