exttest.cpp
来自「pxa270实验板上的」· C++ 代码 · 共 86 行
CPP
86 行
// ExtTest.cpp : 定义应用程序的入口点。
//
#include "stdafx.h"
#include "ExtTest.h"
#include <windows.h>
#define TIMERID 1
BOOL CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
static BOOL InitDialog(HWND hDlg);
HINSTANCE ghInstance;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
ghInstance = hInstance;
return DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DialogProc);
}
HANDLE hDev = NULL;
UINT idTimer = 0;
BOOL CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_INITDIALOG:
hDev = CreateFile(TEXT("KEY1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);
if(hDev == INVALID_HANDLE_VALUE)
{
MessageBox(NULL,_T("不能打开设备。"),_T("Error"),MB_OK|MB_ICONINFORMATION);
EndDialog(hwndDlg,0);
return FALSE;
}
idTimer = SetTimer(hwndDlg,TIMERID,100,NULL);
return TRUE;
case WM_CLOSE:
KillTimer(hwndDlg,idTimer);
CloseHandle(hDev);
EndDialog(hwndDlg,0);
return TRUE;
case WM_TIMER:
if(wParam == TIMERID)
{
DWORD bytes;
DWORD val = 0;
static DWORD oldval = 1;
if(ReadFile(hDev,&val,sizeof(val),&bytes,NULL))
{
if(val!= oldval)
{
SetDlgItemInt(hwndDlg,IDC_EDIT1,val,FALSE);
oldval = val;
}
}
else
{
TCHAR str[64];
wsprintf(str,TEXT("Error %d"),GetLastError());
SetDlgItemText(hwndDlg,IDC_EDIT1,str);
}
}
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_BUTTON1:
{
DWORD bytes;
DWORD val = 0;
WriteFile(hDev,&val,sizeof(DWORD),&bytes,NULL);
}
return TRUE;
}
break;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?