📄 新建文本文档 (2).txt
字号:
#include<windows.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMessage,UINT wParam,LONG lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nShowCmd)
{
MSG msg;
HWND hwnd;
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(hInstance,IDC_ARROW);
wndclass.hIcon=LoadIcon(hInstance,"END");
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WndProc;
wndclass.lpszClassName="键盘响应1";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return 0;
}
hwnd=CreateWindow("键盘响应1","键盘响应",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nShowCmd);
UpdateWindow(hwnd);
while(GetMessage(&msg,hwnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMessage,UINT wParam,LONG lParam)
{
HDC hdc;
PAINTSTRUCT ps;
HPEN hPen;
HBRUSH hBrush;
static char cUp[]="You had hit the UP key";
static char cCtrl[]="You had hit the Ctrl key";
static char cShift[]="You had hit the SHIFT key";
static char cCtrl_A[]="You had hit the CTRL A key";
static char cShift_B[]="You had hit the SHIFT B key";
static bool nUpKeyDown=false,
nShiftKeyDown=false,
nCtrlKeyDown=false,
nCtrlAKeyDown=false,
nShiftBKeyDown=false;
switch(iMessage)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_UP:
nUpKeyDown=true;
break;
case VK_SHIFT:
nShiftKeyDown=true;
break;
case VK_CONTROL:
nCtrlKeyDown=true;
default:
break;
}
}
break;
case WM_KEYUP:
InvalidateRect(hwnd,NULL,false);
break;
case WM_CHAR:
if(wParam==(65&VK_CONTROL))
{
if(nCtrlKeyDown==true)
{
nCtrlAKeyDown=true;
nCtrlKeyDown=false;
}
}
else if(wParam==98||wParam==66)
{
if(nShiftKeyDown==true)
{
nShiftBKeyDown=true;
nShiftKeyDown=false;
}
}
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
hPen=(HPEN)GetStockObject(WHITE_BRUSH);
SelectObject(hdc,hPen);
SelectObject(hdc,hBrush);
SetTextColor(hdc,RGB(255,0,0));
if(nUpKeyDown==true)
{
Rectangle(hdc,0,0,300,200);
TextOut(hdc,0,100,cUp,strlen(cUp));
nUpKeyDown=false;
}
else if(nCtrlAKeyDown==true)
{
Rectangle(hdc,0,0,300,200);
TextOut(hdc,0,100,cCtrl_A,strlen(cCtrl_A));
nCtrlAKeyDown=false;
nCtrlKeyDown=false;
}
else if(nCtrlKeyDown==true)
{
Rectangle(hdc,0,0,300,200);
TextOut(hdc,0,60,cCtrl,strlen(cCtrl));
nCtrlKeyDown=false;
}
else if(nShiftBKeyDown==true)
{
Rectangle(hdc,0,0,300,200);
TextOut(hdc,0,0,cShift_B,strlen(cShift_B));
nShiftBKeyDown=false;
nShiftKeyDown=false;
}
else if(nShiftKeyDown==true)
{
Rectangle(hdc,0,0,300,200);
TextOut(hdc,0,0,cShift,strlen(cShift));
nShiftKeyDown=false;
}
else;
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hwnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,iMessage,wParam,lParam);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -