#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HWND hWndMain;
int iFontSign = 0;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Message;
if(! InitWindowsClass(hInstance))
return FALSE;
if(! InitWindows(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam)
{
HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
char chFont[7];
int X=0, Y=0;
HPEN hPen;
HBRUSH hBrush;switch(iMessage)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_UP:
nUpKeyDown=TRUE;
break;
case VK_SHIFT:
nShiftKeyDown=TRUE;
break;
case VK_CONTROL:
nCtrlKeyDown=TRUE;
break;
default:
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);
hPen=(HPEN)GetStockObject(WHITE_PEN);
hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
strcpy(chFont, "airblk");
SelectObject(hDC, hPen);
SelectObject(hDC, hBrush);
SetTextColor(hDC, RGB(255,0,0));
hF=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,chFont);
if(nCtrlKeyDown==TRUE && nCtrlAKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrl,strlen(nCtrl));
nCtrlKeyDown=FALSE;
}
else if(nUpKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nUp,strlen(nUp));
nUpKeyDown=FALSE;
}
else if(nShiftKeyDown==TRUE && nShiftKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShift,strlen(nShift));
nShiftKeyDown=FALSE;
}
else if(nCtrlAKeyDown==TRUE && nCtrlKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrlA,strlen(nCtrlA));
nCtrlAKeyDown=FALSE;
}
else if(nShiftBKeyDown==TRUE && nShiftKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShiftB,strlen(nShiftB));
nShiftBKeyDown=FALSE;
}
else
{
printf("Input Error\n");
}
DeleteObject(hPen);
DeleteObject(hBrush);
//InvalidateRect(hWnd,NULL,1);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return(0);
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("5_5","nKeyDown",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if (! hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName="5_5";
WndClass.lpszMenuName=NULL;
WndClass.style=0;
return RegisterClass(&WndClass);
}程序要求按Up&Ctrl&Ctrl+A&Shift&Shift+B时分别输出
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
但程序运行后无任何反应亚
#include <stdlib.h>
#include <string.h>
#include <stdio.h>long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HWND hWndMain;
int iFontSign = 0;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Message;
if(! InitWindowsClass(hInstance))
return FALSE;
if(! InitWindows(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam)
{
HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
char chFont[7];
int X=0, Y=0;
HPEN hPen;
HBRUSH hBrush;switch(iMessage)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_UP:
nUpKeyDown=TRUE;
break;
case VK_SHIFT:
nShiftKeyDown=TRUE;
break;
case VK_CONTROL:
nCtrlKeyDown=TRUE;
break;
default:
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);
hPen=(HPEN)GetStockObject(WHITE_PEN);
hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
strcpy(chFont, "airblk");
SelectObject(hDC, hPen);
SelectObject(hDC, hBrush);
SetTextColor(hDC, RGB(255,0,0));
hF=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,chFont);
if(nCtrlKeyDown==TRUE && nCtrlAKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrl,strlen(nCtrl));
nCtrlKeyDown=FALSE;
}
else if(nUpKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nUp,strlen(nUp));
nUpKeyDown=FALSE;
}
else if(nShiftKeyDown==TRUE && nShiftKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShift,strlen(nShift));
nShiftKeyDown=FALSE;
}
else if(nCtrlAKeyDown==TRUE && nCtrlKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrlA,strlen(nCtrlA));
nCtrlAKeyDown=FALSE;
}
else if(nShiftBKeyDown==TRUE && nShiftKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShiftB,strlen(nShiftB));
nShiftBKeyDown=FALSE;
}
else
{
printf("Input Error\n");
}
DeleteObject(hPen);
DeleteObject(hBrush);
//InvalidateRect(hWnd,NULL,1);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return(0);
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("5_5","nKeyDown",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if (! hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName="5_5";
WndClass.lpszMenuName=NULL;
WndClass.style=0;
return RegisterClass(&WndClass);
}程序要求按Up&Ctrl&Ctrl+A&Shift&Shift+B时分别输出
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
但程序运行后无任何反应亚
{
MessageBox();
return FALSE;
}
if(! InitWindows(hInstance,nCmdShow))
{ MessageBox();
return FALSE;
}
怀疑这里初始化问题,自己仔细看参数
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;2、代码有错误
else if(nShiftKeyDown==TRUE && nShiftKeyDown==FALSE) //这个shift按破也没用。。
仔细查下吧
#include <stdlib.h>
#include <string.h>
#include <stdio.h>long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HWND hWndMain;
int iFontSign = 0;
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Message;if(! InitWindowsClass(hInstance))
return FALSE;
if(! InitWindows(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam)
{
HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
char chFont[7];
int X=0, Y=0;
HPEN hPen;
HBRUSH hBrush;switch(iMessage)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_UP:
nUpKeyDown=TRUE;
break;
case VK_SHIFT:
nShiftKeyDown=TRUE;
break;
case VK_CONTROL:
nCtrlKeyDown=TRUE;
break;
default:
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);
hPen=(HPEN)GetStockObject(WHITE_PEN);
hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
strcpy(chFont, "airblk");
SelectObject(hDC, hPen);
SelectObject(hDC, hBrush);
SetTextColor(hDC, RGB(255,0,0));
hF=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,chFont);
if(nCtrlKeyDown==TRUE && nCtrlAKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrl,strlen(nCtrl));
nCtrlKeyDown=FALSE;
}
else if(nUpKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nUp,strlen(nUp));
nUpKeyDown=FALSE;
}
else if(nShiftKeyDown==TRUE && nShiftBKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShift,strlen(nShift));
nShiftKeyDown=FALSE;
}
else if(nCtrlAKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrlA,strlen(nCtrlA));
nCtrlAKeyDown=FALSE;
nCtrlKeyDown=FALSE;
}
else if(nShiftBKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShiftB,strlen(nShiftB));
nShiftBKeyDown=FALSE;
nShiftKeyDown=FALSE;
}
else
{
printf("Input Error\n");
}
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return(0);
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("5_5","nKeyDown",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if (! hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName="5_5";
WndClass.lpszMenuName=NULL;
WndClass.style=0;
return RegisterClass(&WndClass);
}都尝试过了,还是不行,哪位大虾能救我呀!
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;
放到WndPro外面就可以呢
前面加static运行也OK
哪位大虾能指点江山
同时按下Ctrl+A, Shift+B时应该有响应
但程序就是没有反应
Do be sorrow.
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。
静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。
在函数体内生成的静态变量它的值也只能维持。
自己看下,晓得错在哪里了吧#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HWND hWndMain;
int iFontSign = 0;
BOOL nUpKeyDown=FALSE, nShiftKeyDown=FALSE, nCtrlKeyDown=FALSE, nCtrlAKeyDown=FALSE, nShiftBKeyDown=FALSE;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Message; if(! InitWindowsClass(hInstance))
{
MessageBox(hWndMain, TEXT("InitWindowsClass错误!"),TEXT("ERROR"),MB_OK);
return FALSE;
}
if(! InitWindows(hInstance,nCmdShow))
{
MessageBox(hWndMain, TEXT("InitWindows错误!"),TEXT("ERROR"),MB_OK);
return FALSE;
}
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam)
{
HDC hDC;
HFONT hF;
PAINTSTRUCT ps;
char nUp[]="Up Key Down";
char nShift[]="Shift Key Down";
char nCtrl[]="Ctrl Key Down";
char nCtrlA[]="Ctrl+A Key Down";
char nShiftB[]="Shift+B Key Down";
char chFont[7]; /*LPCSTR nUp = "Up Key Down";
LPCSTR nShift = "Shift Key Down";
LPCSTR nCtrl = "Ctrl Key Down";
LPCSTR nCtrlA = "Ctrl+A Key Down";
LPCSTR nShiftB = "Shift+B Key Down";*/
int X=0, Y=0;
HPEN hPen;
HBRUSH hBrush; switch(iMessage)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_UP:
//MessageBox( hWndMain, nUp, TEXT("有键按下"), MB_OK);
nUpKeyDown=TRUE;
break;
case VK_SHIFT:
// MessageBox( hWndMain, nShift, TEXT("有键按下"), MB_OK);
nShiftKeyDown=TRUE;
break;
case VK_CONTROL:
// MessageBox( hWndMain, nCtrl, TEXT("有键按下"), MB_OK);
nCtrlKeyDown=TRUE;
break;
default:
break;
}
}
case WM_KEYUP:
InvalidateRect(hWnd, NULL, FALSE);
UpdateWindow(hWnd);
break;
case WM_CHAR:
if(wParam==(65&VK_CONTROL))
{
nCtrlAKeyDown=TRUE;
//MessageBox( hWnd, (LPCTSTR)nCtrlA, TEXT("有键按下"), MB_OK);
/*if(nCtrlKeyDown==TRUE)
{
nCtrlAKeyDown=TRUE;
nCtrlKeyDown=FALSE;
}*/
}
else if(wParam==98||wParam==66)
{
//MessageBox( hWnd, (LPCTSTR)nShiftB, TEXT("有键按下"), MB_OK);
nShiftBKeyDown=TRUE;
if(nShiftKeyDown==TRUE)
{
nShiftBKeyDown=TRUE;
nShiftKeyDown=FALSE;
}
}
InvalidateRect(hWnd, NULL, FALSE);
UpdateWindow(hWnd);
break;
case WM_PAINT:
hDC=BeginPaint(hWnd, &ps);
hPen=(HPEN)GetStockObject(WHITE_PEN);
hBrush=(HBRUSH)GetStockObject(WHITE_BRUSH);
strcpy(chFont, "airblk");
SelectObject(hDC, hPen);
SelectObject(hDC, hBrush);
SetTextColor(hDC, RGB(255,0,0));
hF=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,(LPCTSTR)chFont);
if(nCtrlKeyDown==TRUE && nCtrlAKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrl,strlen(nCtrl));
nCtrlKeyDown=FALSE;
}
else if(nUpKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nUp,strlen(nUp));
nUpKeyDown=FALSE;
}
else if(nShiftKeyDown==TRUE && nShiftBKeyDown==FALSE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShift,strlen(nShift));
nShiftKeyDown=FALSE;
}
else if(nCtrlAKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nCtrlA,strlen(nCtrlA));
nCtrlAKeyDown=FALSE;
nCtrlKeyDown=FALSE;
}
else if(nShiftBKeyDown==TRUE)
{
Rectangle(hDC,0,0,300,200);
TextOut(hDC,X,Y,nShiftB,strlen(nShiftB));
nShiftBKeyDown=FALSE;
nShiftKeyDown=FALSE;
} /*else
{
TextOut(hDC,X,Y,TEXT("不是预定义的输入操作!"),strlen("不是预定义的输入操作!"));
}*/
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return(0);
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow(TEXT("5_5"),TEXT("nKeyDown"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if (! hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=TEXT("5_5");
WndClass.lpszMenuName=NULL;
WndClass.style=0;
return RegisterClass(&WndClass);
}