当我运行代码使用Windowsapi写的时候,一开机就关机(在Visual Studio)
When I run code written using the Windows api, it turns off as soon as it is turned on (in Visual Studio)
我使用 windows api(左键单击时弹出消息框的程序)编写了这段代码,当我 运行 它时,它似乎关闭了一旦它被打开。 )
(运行 带 f5)
我认为它结束了,但我不知道哪里出了问题。是代码问题吗?
我用visual studio.
LRESULT CALLBACK MouseHookProc(_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam)
{
switch (wParam) {
case WM_LBUTTONDOWN:
MessageBoxA(0, "hi", "hanu", 0);
}
return CallNextHookEx(g_Hook, nCode, wParam, lParam);
}
int APIENTRY WinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nShowCmd)
{
HHOOK mouseHook = SetWindowsHookEx(WH_MOUSE_LL,MouseHookProc, hInstance, NULL);
}
问题如有不足请指出
你需要:
- 一个不会立即退出的程序,因为它的主要功能returns
- 消息循环
通过在 SetWindowsHookEx
调用之后添加以下代码,可以轻松满足这两个条件:
MSG msg;
while ( GetMessage( &msg, NULL, 0, 0 ) );
尽情享受您将获得的多个对话框吧!
我使用 windows api(左键单击时弹出消息框的程序)编写了这段代码,当我 运行 它时,它似乎关闭了一旦它被打开。 )
(运行 带 f5)
我认为它结束了,但我不知道哪里出了问题。是代码问题吗?
我用visual studio.
LRESULT CALLBACK MouseHookProc(_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam)
{
switch (wParam) {
case WM_LBUTTONDOWN:
MessageBoxA(0, "hi", "hanu", 0);
}
return CallNextHookEx(g_Hook, nCode, wParam, lParam);
}
int APIENTRY WinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nShowCmd)
{
HHOOK mouseHook = SetWindowsHookEx(WH_MOUSE_LL,MouseHookProc, hInstance, NULL);
}
问题如有不足请指出
你需要:
- 一个不会立即退出的程序,因为它的主要功能returns
- 消息循环
通过在 SetWindowsHookEx
调用之后添加以下代码,可以轻松满足这两个条件:
MSG msg;
while ( GetMessage( &msg, NULL, 0, 0 ) );
尽情享受您将获得的多个对话框吧!