谁帮我看一下阿,一个简单的键盘消息!!!!

来源:百度知道 编辑:UC知道 时间:2024/09/21 06:31:21
按下键盘的CTRL键,显示this is这样的字符,以下是源代码帮我修改一下!!
#include <windows.h>
LRESULT CALLBACK WndProc( HWND,UINT,
WPARAM,
LPARAM);

bool bControlDown;

bool bShiftDown;

POINT pDown;

static long nxchar,nychar;
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char IpszClassName[]="窗口";
char IpszTitle[]="My_windows";

wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

wndclass.lpszMenuName=NULL;
wndclass.lpszClassName =IpszClassName;

没有测试,不知道行不行,自己试一下

case WM_KEYDOWN:
{
if (wParam & VK_CONTROL)
{
bControlDown = TRUE;
InvalidateRect(hwnd,NULL,TRUE);

}

case WM_KEYUP:
{
if (wParam & VK_CONTROL)
{
bControlDown = FALSE;
InvalidateRect(hwnd,NULL,TRUE);
}

case WM_PAINT:
hd=BeginPaint(hwnd,&ps);
if (TRUE==bControlDown )
{
TextOut(hd,X,Y,lpsz_1,strlen(lpsz_1));
}
else
{
TextOut(hd,X,Y," ",strlen(lpsz_1));
}
EndPaint(hwnd,&ps);
return 0;