当我有:
MessageBox(NULL, NULL , "MessageBox", NULL);
出现一个消息框,我的程序按我的意愿运行,直到用户在消息框上单击确定,然后程序结束。我试图放入一个无限循环以获得相同的效果,但这与消息框的工作方式不同。我不想要消息框的原因是它阻碍了用户对程序的查看,如果他们试图关闭它,程序就会停止。所以我基本上只是想要一个不可见的消息框或具有相同效果的东西。
编辑:澄清一下,该程序是游戏的原型。我正在使用挂钩来查找用户正在按下的键。这是该程序的简化版本:
#define WM_KEYDOWN 0x0100
#define _WIN32_WINNT 0x0500
#include <iostream>
#include <windows.h>
#include <winuser.h>
using namespace std;
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam){
PKBDLLHOOKSTRUCT keypointer = (PKBDLLHOOKSTRUCT)(lParam);
if (wParam==WM_KEYDOWN){
switch(keypointer->vkCode){
case VK_RIGHT:
cout << "**RIGHT**";
goto skip;
case VK_LEFT:
cout << "**LEFT**";
goto skip;
case VK_DOWN:
cout << "**DOWN**";
goto skip;
case VK_UP:
cout << "**UP**";
skip:
default:
cout << "";
}
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
SetWindowsHookEx(WH_KEYBOARD_LL, HookProc, hInstance, 0);
MessageBox(NULL, NULL , "KLMBOX", NULL);
return 0;
}
我只希望程序具有相同的功能,但不显示消息框!我不是专家,我只是在玩弄:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms632589 (v=vs.85).aspx