📄 ledtest.cpp
字号:
// LedTest.cpp : 定义应用程序的入口点。
//
#include "stdafx.h"
#include "LedTest.h"
#include <windows.h>
#include <commctrl.h>
// 全局变量:
HINSTANCE g_hInst; // 当前实例
HANDLE hDev=NULL;
const BYTE ledfont[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
// 此代码模块中包含的函数的前向声明:
BOOL CALLBACK DialogProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
return DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DialogProc);
}
// “关于”框的消息处理程序。
BOOL CALLBACK DialogProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
char str[16];
switch (uMsg)
{
case WM_INITDIALOG:
hDev=CreateFile(TEXT("LED2:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);
if(hDev==INVALID_HANDLE_VALUE)
{
MessageBox(NULL,_T("Can't open device."),_T("Error"),MB_OK|MB_ICONINFORMATION);
EndDialog(hDlg,0);
return FALSE;
}
return TRUE;
case WM_CLOSE:
EndDialog(hDlg, 0);
return TRUE;
case WM_COMMAND:
if ((LOWORD(wParam) == IDC_BUTTON1))
{
BOOL b;
DWORD bytes;
char data[4];
UINT val=GetDlgItemInt(hDlg,IDC_EDIT1,&b,FALSE);
memset(data,0,4);
if(b)
{
int i,n;
n=sprintf(str,"%d",val);
n=n>4?4:n;
for(i=0;i<n;i++)
{data[i]=ledfont[str[i]-'0'];
WriteFile(hDev,&data[i],1,&bytes,NULL);
Sleep(1000);
}
}
}
return TRUE;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -