亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? d3d鼠標.cpp

?? DirectInput的基本實現 只是基本應用
?? CPP
字號:
// D3D鼠標.cpp : 定義應用程序的入口點。
//

#include "stdafx.h"
#include "D3D鼠標.h"
#include <string.h>
#include <dinput.h>
#include <dinputd.h>
#define MAX_LOADSTRING 100
#define SAFE_RELEASE(p) if(p) {p->Release();p=NULL;}

LPDIRECTINPUT8			m_pDInput;//接口指針
DIMOUSESTATE			m_MouseState;//鼠標的狀態
LPDIRECTINPUTDEVICE8	m_pDInputMouse;//設備指針
DIMOUSESTATE			m_MouseStateOld;//鼠標上一次的狀態

char Mouse[16]="\0";
char MouseX[8]="\0";
char MouseY[8]="\0";
char MouseZ[8]="\0";

// 全局變量:
HINSTANCE hInst;								// 當前實例
TCHAR szTitle[MAX_LOADSTRING];					// 標題欄文本
TCHAR szWindowClass[MAX_LOADSTRING];			// 主窗口類名

// 此代碼模塊中包含的函數的前向聲明:
ATOM				MyRegisterClass(HINSTANCE hInstance);
BOOL				InitInstance(HINSTANCE, int);
LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK	About(HWND, UINT, WPARAM, LPARAM);

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
 	// TODO: 在此放置代碼。
	MSG msg;
	HACCEL hAccelTable;

	// 初始化全局字符串
	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
	LoadString(hInstance, IDC_D3D, szWindowClass, MAX_LOADSTRING);
	MyRegisterClass(hInstance);

	// 執行應用程序初始化:
	if (!InitInstance (hInstance, nCmdShow)) 
	{
		return FALSE;
	}

	hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_D3D);

	// 主消息循環:
	while (GetMessage(&msg, NULL, 0, 0)) 
	{
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
	}

	return (int) msg.wParam;
}



//
//  函數: MyRegisterClass()
//
//  目的: 注冊窗口類。
//
//  注釋: 
//
//    僅當希望在已添加到 Windows 95 的
//    “RegisterClassEx”函數之前此代碼與 Win32 系統兼容時,
//    才需要此函數及其用法。調用此函數
//    十分重要,這樣應用程序就可以獲得關聯的
//   “格式正確的”小圖標。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
	WNDCLASSEX wcex;

	wcex.cbSize = sizeof(WNDCLASSEX); 

	wcex.style			= CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc	= (WNDPROC)WndProc;
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;
	wcex.hInstance		= hInstance;
	wcex.hIcon			= LoadIcon(hInstance, (LPCTSTR)IDI_D3D);
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
	wcex.lpszMenuName	= (LPCTSTR)IDC_D3D;
	wcex.lpszClassName	= szWindowClass;
	wcex.hIconSm		= LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);

	return RegisterClassEx(&wcex);
}

//
//   函數: InitInstance(HANDLE, int)
//
//   目的: 保存實例句柄并創建主窗口
//
//   注釋: 
//
//        在此函數中,我們在全局變量中保存實例句柄并
//        創建和顯示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // 將實例句柄存儲在全局變量中

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

//
//  函數: WndProc(HWND, unsigned, WORD, LONG)
//
//  目的: 處理主窗口的消息。
//
//  WM_COMMAND	- 處理應用程序菜單
//  WM_PAINT	- 繪制主窗口
//  WM_DESTROY	- 發送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;
	PAINTSTRUCT ps;
	HDC hdc;

	switch (message) 
	{
	case WM_COMMAND:
		wmId    = LOWORD(wParam); 
		wmEvent = HIWORD(wParam); 
		// 分析菜單選擇:
		switch (wmId)
		{
		case IDM_ABOUT:
			DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
			break;
		case IDM_EXIT:
			DestroyWindow(hWnd);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
		}
		break;
	case WM_CREATE:
		if(DI_OK!=DirectInput8Create( hInst,DIRECTINPUT_VERSION,
			IID_IDirectInput8,(LPVOID*)&m_pDInput,NULL))
			MessageBox(hWnd,"創建DirectInput 對象失敗!","ERROR",MB_ICONERROR|MB_OK);
		if(DI_OK!=m_pDInput->CreateDevice(GUID_SysMouse,&m_pDInputMouse,NULL))
			MessageBox(hWnd,"創建鼠標設備失敗!","ERROR",MB_ICONERROR|MB_OK);
		if(DI_OK!=	m_pDInputMouse->SetDataFormat(&c_dfDIMouse)) 
			MessageBox(hWnd,"設置鼠標數據格式失敗!","ERROR",MB_ICONERROR|MB_OK); 
		m_pDInputMouse->SetCooperativeLevel(hWnd,DISCL_FOREGROUND);//|DISCL_EXCLUSIVE 
		m_pDInputMouse->Acquire();	//如果失敗,獲取數據時再嘗試獲取
		memset(&m_MouseState,0,sizeof(m_MouseState));		
		memset(&m_MouseStateOld,0,sizeof(m_MouseState));
//		ShowCursor(true);
		SetTimer(hWnd,1,100,NULL);
		break;
	case WM_TIMER:
		memcpy(&m_MouseStateOld,&m_MouseState,sizeof(m_MouseState));  

		if(DI_OK!=m_pDInputMouse->GetDeviceState(sizeof(m_MouseState),&m_MouseState))
		{	
			memset(&m_MouseState,0,sizeof(m_MouseState));	//清除上一次的狀態
			m_pDInputMouse->Acquire();
		}
 
		itoa(m_MouseState.lX,MouseX,10);
		//memcpy(Mouse,MouseX,sizeof(MouseX));
		strcpy(Mouse,MouseX);
		strcat(Mouse,",");
		itoa(m_MouseState.lY,MouseY,10);
		strcat(Mouse,MouseY);
		strcat(Mouse,",");
		itoa(m_MouseState.lZ,MouseZ,10);
		strcat(Mouse,MouseZ);
		//if(m_MouseState.rgbButtons[0])
		//	MessageBox(NULL,"fdsa","fdas",0);
		SetWindowText(hWnd,Mouse);
		break;
	case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);
		// TODO: 在此添加任意繪圖代碼...
		EndPaint(hWnd, &ps);
		break;
	case WM_DESTROY:
		m_pDInputMouse->Unacquire();
		SAFE_RELEASE(m_pDInputMouse);
		SAFE_RELEASE(m_pDInput);
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
	return 0;
}

// “關于”框的消息處理程序。
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
	case WM_INITDIALOG:
		return TRUE;

	case WM_COMMAND:
		if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
		{
			EndDialog(hDlg, LOWORD(wParam));
			return TRUE;
		}
		break;
	}
	return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区在线观看视频| 国产成人夜色高潮福利影视| 麻豆91小视频| 一本色道久久综合精品竹菊| 欧美一区二区人人喊爽| 综合中文字幕亚洲| 老司机一区二区| 色天天综合色天天久久| 久久久午夜电影| 日韩高清国产一区在线| 91啪亚洲精品| 中文字幕不卡三区| 蜜桃久久精品一区二区| 欧美日韩在线播放三区| 中文字幕亚洲不卡| 国产高清无密码一区二区三区| 欧美挠脚心视频网站| 亚洲理论在线观看| 成人动漫在线一区| 国产清纯白嫩初高生在线观看91| 喷水一区二区三区| 日韩一区二区在线观看视频播放| 有坂深雪av一区二区精品| 波多野结衣视频一区| 久久精品视频一区二区| 久久精品国产99| 日韩精品资源二区在线| 日韩精品亚洲一区| 欧美一级搡bbbb搡bbbb| 日韩一区精品字幕| 欧美一区欧美二区| 日韩av电影天堂| 欧美一级久久久| 日韩激情中文字幕| 91精品婷婷国产综合久久性色| 亚洲3atv精品一区二区三区| 欧美日韩中文字幕一区二区| 亚洲无线码一区二区三区| 欧洲人成人精品| 日韩电影在线免费观看| 91精品国产色综合久久不卡电影| 日韩1区2区日韩1区2区| 日韩一卡二卡三卡国产欧美| 久久精品国产99国产精品| 久久精品一区二区三区av| 成人视屏免费看| 亚洲少妇中出一区| 欧美亚洲国产bt| 日韩和欧美一区二区| 欧美va亚洲va香蕉在线| 久久99久久久久| 日本一区二区三区dvd视频在线| 成人avav影音| 亚洲永久免费av| 91麻豆精品国产91| 国产乱码精品一品二品| 国产精品久久久一区麻豆最新章节| www.在线欧美| 午夜成人免费电影| 久久伊99综合婷婷久久伊| 成人性生交大片免费看中文| 伊人开心综合网| 91精品国产91久久久久久最新毛片 | 奇米精品一区二区三区在线观看一| 欧美一级二级三级蜜桃| 高清日韩电视剧大全免费| 国产精品久久久久久户外露出| 在线精品视频一区二区三四| 久久99深爱久久99精品| 亚洲精品五月天| 精品久久久久久综合日本欧美| 99精品视频一区| 美女网站一区二区| 亚洲欧洲成人av每日更新| 91精选在线观看| 91麻豆自制传媒国产之光| 久久99国产精品尤物| 亚洲一区欧美一区| 国产日韩欧美麻豆| 91精品国产综合久久精品| av在线一区二区三区| 久草精品在线观看| 亚洲最色的网站| 国产精品水嫩水嫩| 精品美女在线播放| 精品污污网站免费看| 成人激情小说乱人伦| 美女任你摸久久| 亚洲国产精品影院| 日韩一区欧美小说| 精品入口麻豆88视频| 欧美视频三区在线播放| 成人午夜激情视频| 国产在线精品一区二区不卡了 | 亚洲欧洲日产国码二区| 日韩欧美区一区二| 在线亚洲免费视频| 成人的网站免费观看| 极品美女销魂一区二区三区 | 91精品国产aⅴ一区二区| 91成人在线精品| 不卡视频一二三四| 国产精品中文字幕欧美| 久久国产综合精品| 视频一区在线播放| 亚洲国产中文字幕| 亚洲精品日韩专区silk| 国产精品久久久久aaaa| 久久久久久9999| 久久婷婷国产综合国色天香| 91精品国产一区二区人妖| 51久久夜色精品国产麻豆| 欧美精品视频www在线观看| 欧美一a一片一级一片| 日本韩国欧美三级| 欧美在线免费观看亚洲| 91高清视频在线| 欧美综合色免费| 91黄色免费网站| 欧美怡红院视频| 欧美精品免费视频| 欧美一级国产精品| 欧美tickle裸体挠脚心vk| 精品国内二区三区| 2020日本不卡一区二区视频| 中文字幕第一页久久| 1024成人网| 亚洲国产综合在线| 美女性感视频久久| 国产成人精品免费视频网站| 国产99一区视频免费| 99精品在线免费| 欧美日精品一区视频| 日韩午夜av电影| 国产精品视频九色porn| 亚洲精品免费看| 日本欧美久久久久免费播放网| 九九视频精品免费| bt7086福利一区国产| 在线精品视频免费播放| 91精品国产高清一区二区三区| 26uuu色噜噜精品一区| 中文字幕色av一区二区三区| 亚洲第一主播视频| 国产在线不卡视频| 在线精品视频小说1| 欧美刺激午夜性久久久久久久| 久久久不卡影院| 亚洲一卡二卡三卡四卡五卡| 另类成人小视频在线| 99精品国产99久久久久久白柏| 日本电影欧美片| 精品国产污污免费网站入口 | 美女诱惑一区二区| 99久久99久久精品免费观看| 在线成人午夜影院| 国产精品无遮挡| 日韩精品欧美精品| 91小视频在线观看| 精品人伦一区二区色婷婷| 亚洲视频一二三区| 激情文学综合丁香| 在线视频你懂得一区| 久久久久久久久久久久电影 | 51精品国自产在线| 亚洲少妇最新在线视频| 精品伊人久久久久7777人| 91在线视频免费91| 精品久久国产老人久久综合| 亚洲永久免费视频| 懂色av噜噜一区二区三区av| 91精品在线观看入口| 一区二区三区国产| 国产凹凸在线观看一区二区| 欧美一二区视频| 亚洲va韩国va欧美va| 91免费国产视频网站| 久久久综合网站| 老司机午夜精品99久久| 欧美久久久一区| 亚洲精品va在线观看| 成人一二三区视频| 国产日韩精品一区二区浪潮av| 日韩av网站在线观看| 欧美日韩国产一区| 亚洲精品中文字幕在线观看| 成人午夜免费av| 国产亲近乱来精品视频| 国产美女主播视频一区| 欧美一区二区在线免费观看| 香蕉久久一区二区不卡无毒影院| 日本乱人伦aⅴ精品| 一区二区欧美国产| 91麻豆6部合集magnet| 亚洲天堂免费在线观看视频| 99精品1区2区| 亚洲精品免费在线观看| 在线精品亚洲一区二区不卡| 亚洲国产视频a| 欧美视频三区在线播放|