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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? canbustest.cpp

?? wince下的CAN總線測(cè)試程序
?? CPP
字號(hào):
// CANBusTest.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "CANBusTest.h"
#include <commctrl.h>

#define MAX_LOADSTRING 100

// Global Variables:
HINSTANCE			hInst;			// The current instance
HWND				hwndCB;			// The command bar handle

// Forward declarations of functions included in this code module:
ATOM				MyRegisterClass	(HINSTANCE, LPTSTR);
BOOL				InitInstance	(HINSTANCE, int);
LRESULT CALLBACK	WndProc			(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK	About			(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(	HINSTANCE hInstance,
					HINSTANCE hPrevInstance,
					LPTSTR    lpCmdLine,
					int       nCmdShow)
{
	MSG msg;
	HACCEL hAccelTable;

	// Perform application initialization:
	if (!InitInstance (hInstance, nCmdShow)) 
	{
		return FALSE;
	}

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

	// Main message loop:
	while (GetMessage(&msg, NULL, 0, 0)) 
	{
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
	}

	return msg.wParam;
}

//
//  FUNCTION: MyRegisterClass()
//
//  PURPOSE: Registers the window class.
//
//  COMMENTS:
//
//    It is important to call this function so that the application 
//    will get 'well formed' small icons associated with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass)
{
	WNDCLASS	wc;

    wc.style			= CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc		= (WNDPROC) WndProc;
    wc.cbClsExtra		= 0;
    wc.cbWndExtra		= 0;
    wc.hInstance		= hInstance;
    wc.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_CANBUSTEST));
    wc.hCursor			= 0;
    wc.hbrBackground	= (HBRUSH) GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName		= 0;
    wc.lpszClassName	= szWindowClass;

	return RegisterClass(&wc);
}

//
//  FUNCTION: InitInstance(HANDLE, int)
//
//  PURPOSE: Saves instance handle and creates main window
//
//  COMMENTS:
//
//    In this function, we save the instance handle in a global variable and
//    create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
	HWND	hWnd;
	TCHAR	szTitle[MAX_LOADSTRING];			// The title bar text
	TCHAR	szWindowClass[MAX_LOADSTRING];		// The window class name

	hInst = hInstance;		// Store instance handle in our global variable
	// Initialize global strings
	LoadString(hInstance, IDC_CANBUSTEST, szWindowClass, MAX_LOADSTRING);
	MyRegisterClass(hInstance, szWindowClass);

	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
	hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE,
		CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);

	if (!hWnd)
	{	
		return FALSE;
	}

	ShowWindow(hWnd, nCmdShow);
	UpdateWindow(hWnd);
	if (hwndCB)
		CommandBar_Show(hwndCB, TRUE);

	return TRUE;
}

//
//  FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
//
//  PURPOSE:  Processes messages for the main window.
//
//  WM_COMMAND	- process the application menu
//  WM_PAINT	- Paint the main window
//  WM_DESTROY	- post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	int wmId, wmEvent;
	PAINTSTRUCT ps;
	TCHAR szHello[MAX_LOADSTRING];

	switch (message) 
	{
		case WM_COMMAND:
			wmId    = LOWORD(wParam); 
			wmEvent = HIWORD(wParam); 
			// Parse the menu selections:
			switch (wmId)
			{
				case IDM_HELP_ABOUT:
				   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
					//Test CAN bus
					 //WriteFile(hHandle,TEXT(""),strlen(buf),&dwWrite,NULL) ;
				   break;
				case IDM_FILE_EXIT:
				   DestroyWindow(hWnd);
				   break;
				default:
				   return DefWindowProc(hWnd, message, wParam, lParam);
			}
			break;
		case WM_CREATE:
			hwndCB = CommandBar_Create(hInst, hWnd, 1);			
			CommandBar_InsertMenubar(hwndCB, hInst, IDM_MENU, 0);
			CommandBar_AddAdornments(hwndCB, 0, 0);
			break;
		case WM_PAINT:
			RECT rt;
			hdc = BeginPaint(hWnd, &ps);
			GetClientRect(hWnd, &rt);
			LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
			DrawText(hdc, szHello, _tcslen(szHello), &rt, 
				DT_SINGLELINE | DT_VCENTER | DT_CENTER);
			EndPaint(hWnd, &ps);
			break;
		case WM_DESTROY:
			CommandBar_Destroy(hwndCB);
			PostQuitMessage(0);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}

// Mesage handler for the About box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	RECT rt, rt1;
	int DlgWidth, DlgHeight;	// dialog width and height in pixel units
	int NewPosX, NewPosY;

	int wmId ;
	char  data_write[8]={1,2,3,4,5,6,7,8}; 

	switch (message)
	{
		case WM_INITDIALOG:
			// trying to center the About dialog
			if (GetWindowRect(hDlg, &rt1)) {
				GetClientRect(GetParent(hDlg), &rt);
				DlgWidth	= rt1.right - rt1.left;
				DlgHeight	= rt1.bottom - rt1.top ;
				NewPosX		= (rt.right - rt.left - DlgWidth)/2;
				NewPosY		= (rt.bottom - rt.top - DlgHeight)/2;
				
				// if the About box is larger than the physical screen 
				if (NewPosX < 0) NewPosX = 0;
				if (NewPosY < 0) NewPosY = 0;
				SetWindowPos(hDlg, 0, NewPosX, NewPosY,
					0, 0, SWP_NOZORDER | SWP_NOSIZE);
			}
			return TRUE;

		case WM_COMMAND:
			wmId = LOWORD(wParam) ;
			if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			switch( wmId )
			{
			case IDC_BUTTON_CANBUS:
				HANDLE hHandle ;
				DWORD dwWrite ;
				int length ;
				unsigned short buf[256] ;
				unsigned short ReadBuf[256] ;
				//TCHAR  read_buf[256] ;
				memset(ReadBuf,0,sizeof(ReadBuf)) ;
				memset(buf,0,sizeof(buf)) ;
				GetDlgItemText(hDlg,IDC_EDIT1,(unsigned short *)buf,256) ;
				hHandle = CreateFile(TEXT("CAN1:"),0,0,NULL,OPEN_EXISTING,0,NULL) ;
				WriteFile(hHandle,buf,wcslen(buf),&dwWrite,NULL) ;

				ReadFile(hHandle,ReadBuf,sizeof(ReadBuf),&dwWrite,NULL) ;
				SetDlgItemText(hDlg,IDC_EDIT2,ReadBuf) ;

				/*
				length = wcslen(buf) ;
				while ( length > 0 )
				{
					if ( length > 4 )
					{
						WriteFile(hHandle,buf,4,&dwWrite,NULL) ;
						memset(ReadBuf,0,sizeof(ReadBuf)) ; 
						ReadFile(hHandle,ReadBuf,4,&dwWrite,NULL) ;
						wcscat(read_buf,ReadBuf) ;
						length = length - 4 ;
					}
					else
					{
						WriteFile(hHandle,buf,length,&dwWrite,NULL) ;
						memset(ReadBuf,0,sizeof(ReadBuf)) ; 
						ReadFile(hHandle,ReadBuf,4,&dwWrite,NULL) ;
						wcscat(read_buf,ReadBuf) ;
						length = 0 ;
					}
					
				}
				*/
				RETAILMSG(1,(TEXT("ReadBuf=%s\r\n"),ReadBuf));
				break ;
			default:
				break ;
			}
			break;
	}
    return FALSE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区中文字幕| 国产美女主播视频一区| 久久日韩精品一区二区五区| av亚洲精华国产精华精| 麻豆精品在线播放| 亚洲午夜一区二区| 中文在线免费一区三区高中清不卡| 欧美日韩精品二区第二页| 99久久精品免费看国产免费软件| 麻豆极品一区二区三区| 亚洲一线二线三线久久久| 国产精品美女久久久久久2018| 欧美一区二区三区视频在线 | 欧美电影在哪看比较好| www.亚洲色图| 国产成人午夜片在线观看高清观看| 亚洲成人av福利| 一个色在线综合| 综合久久国产九一剧情麻豆| 久久久精品综合| 精品久久久久99| 日韩视频一区在线观看| 51精品秘密在线观看| 精品视频资源站| 色久优优欧美色久优优| 一本一道久久a久久精品综合蜜臀| 国产成人亚洲精品青草天美| 国产一本一道久久香蕉| 国产一本一道久久香蕉| 国产一区二区三区黄视频 | 成人午夜免费电影| 国内成人精品2018免费看| 天天影视色香欲综合网老头| 午夜私人影院久久久久| 亚洲国产美女搞黄色| 亚洲综合丁香婷婷六月香| 亚洲精品中文在线影院| 一区二区三区四区不卡在线| 尤物av一区二区| 一区二区三区免费网站| 亚洲一区二区三区四区在线免费观看 | 国产91综合一区在线观看| 久久精品国产精品青草| 韩国成人精品a∨在线观看| 韩国三级电影一区二区| 国产一区二区精品在线观看| 国产精品18久久久久久久久久久久 | 日韩不卡一区二区三区| 日韩激情av在线| 麻豆精品在线播放| 国产一二三精品| www.亚洲精品| 精品视频一区二区不卡| 777午夜精品免费视频| 欧美日韩成人综合| 日韩欧美在线观看一区二区三区| 日韩精品一区二区三区四区| 国产欧美一区二区在线| 亚洲嫩草精品久久| 亚洲一区二区在线免费观看视频| 亚洲成人久久影院| 精品亚洲porn| av在线综合网| 欧美精选在线播放| 精品国产乱码久久久久久久| 国产精品三级视频| 亚洲成av人影院| 国产一区二区三区日韩| 色诱视频网站一区| 67194成人在线观看| 久久色中文字幕| 亚洲日本免费电影| 日韩国产精品久久| 风流少妇一区二区| 欧美三级资源在线| 精品国产电影一区二区| 亚洲婷婷在线视频| 日本视频在线一区| 成人h动漫精品一区二区| 欧美日韩午夜在线视频| 久久一区二区视频| 亚洲激情校园春色| 激情五月婷婷综合| 色菇凉天天综合网| 精品成人一区二区| 亚洲综合图片区| 国产乱色国产精品免费视频| 欧美最猛性xxxxx直播| 久久综合资源网| 午夜久久电影网| 成人毛片老司机大片| 538在线一区二区精品国产| 国产精品视频yy9299一区| 日韩国产欧美三级| 一本久久综合亚洲鲁鲁五月天| 日韩午夜激情av| 亚洲一区在线视频观看| 成人国产免费视频| 日韩欧美视频在线| 亚洲伊人伊色伊影伊综合网| 国产69精品久久久久777| 欧美精品乱码久久久久久按摩| 国产精品每日更新在线播放网址| 免费在线观看不卡| 欧美伊人久久大香线蕉综合69 | 成人av在线资源| 日韩欧美美女一区二区三区| 亚洲一区二区三区小说| 99re这里都是精品| 欧美激情综合网| 韩国女主播成人在线| 欧美丰满少妇xxxbbb| 亚洲欧美日韩国产另类专区| 国产成人精品三级| 欧美精品一区二区精品网| 日韩和欧美一区二区| 欧美日韩国产高清一区二区三区| 国产精品高清亚洲| 成人免费视频一区| 久久久不卡网国产精品一区| 麻豆精品久久精品色综合| 欧美精品久久一区二区三区| 亚洲动漫第一页| 欧美日韩在线免费视频| 亚洲黄色av一区| 在线亚洲精品福利网址导航| 亚洲柠檬福利资源导航| 色哟哟一区二区| 一区二区三区免费看视频| 色综合久久66| 亚洲国产精品久久久久婷婷884| 在线精品视频免费播放| 亚洲精品成人悠悠色影视| 91丨九色丨尤物| 一区二区三区日本| 欧美亚洲免费在线一区| 亚洲成人动漫在线免费观看| 欧美日韩在线综合| 天堂在线亚洲视频| 日韩欧美在线网站| 国产老妇另类xxxxx| 国产欧美日韩视频一区二区| 波多野结衣亚洲一区| 最新不卡av在线| 日本高清不卡在线观看| 亚洲18影院在线观看| 4438x亚洲最大成人网| 久久精品噜噜噜成人88aⅴ| 欧美精品一区二区三区蜜臀| 顶级嫩模精品视频在线看| 中文字幕一区二区三区蜜月| 色香蕉久久蜜桃| 丝袜亚洲精品中文字幕一区| 日韩欧美的一区| 国产v日产∨综合v精品视频| 日韩美女视频一区二区 | 精品久久久久久久久久久久久久久 | 三级欧美在线一区| 精品美女在线播放| 岛国精品在线观看| 亚洲女子a中天字幕| 欧美一区二区三区在线观看| 国产精品中文字幕欧美| 亚洲精品少妇30p| 日韩午夜在线观看视频| 国产ts人妖一区二区| 亚洲永久免费av| 久久综合999| 一本久道久久综合中文字幕| 免费国产亚洲视频| 国产精品久久久久四虎| 欧美日韩日日夜夜| 国产在线看一区| 一区二区高清在线| 精品久久免费看| 在线观看av一区| 极品少妇xxxx精品少妇| 亚洲精品菠萝久久久久久久| 欧美tk—视频vk| 在线视频综合导航| 精品一二线国产| 亚洲国产视频直播| 国产日韩影视精品| 欧美挠脚心视频网站| 成人涩涩免费视频| 免费美女久久99| 亚洲欧美日韩成人高清在线一区| 日韩欧美国产wwwww| 欧洲日韩一区二区三区| 国产美女精品在线| 天天操天天干天天综合网| 欧美激情一区二区三区全黄| 9191久久久久久久久久久| av电影一区二区| 精品亚洲porn| 日韩中文字幕一区二区三区| 亚洲欧美自拍偷拍| 久久久久久日产精品| 欧美一区二区性放荡片| 欧美亚洲愉拍一区二区|