Когда у меня есть:
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