📄 exttest.cpp
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -