奇怪的消息循环
我做了一个全局钩子的dll,用来向主窗体传递鼠标左键按下消息HM_MOUSE。然后在一个标准和win32程序的
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
函数中使用:
成功地获得了来自任何窗口的鼠标点击消息!
好了!我的问题是:现在我认为一个win32程序内容太多,我把它精简成一个按钮!代码如下:
可是这样一改,我发现一个问题,WinProc函数没了!
于是我就想在GetMessageW处应该能获得这个消息吧!
于是我把获得HM_MOUSE消息的代码加在了这:
结果,我还是无论如何也获得不了HM_MOUSE消息!
我想问:
1、为什么获得不了?
2、如果我想为这个BUTTON按钮增加一个像窗口那样的WinProc,我应该怎么做?
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
函数中使用:
switch (message)
{
case HM_MOUSE:
count++;
wchar_t str[128];
wsprintf(str,L"第%d次收到鼠标左键点击消息!",count);
::SetWindowText(hWnd,str);
break;成功地获得了来自任何窗口的鼠标点击消息!
好了!我的问题是:现在我认为一个win32程序内容太多,我把它精简成一个按钮!代码如下:
int WINAPI wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
HWND hwnd = CreateWindowW(L"BUTTON",L" ",WS_OVERLAPPED,200,200,300,50,NULL,NULL,hInstance,NULL);
::ShowWindow(hwnd,true);
::UpdateWindow(hwnd);
SetupHook(hwnd,true);
MSG msg;
while (GetMessageW(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int) msg.wParam;
}可是这样一改,我发现一个问题,WinProc函数没了!
于是我就想在GetMessageW处应该能获得这个消息吧!
于是我把获得HM_MOUSE消息的代码加在了这:
while (GetMessageW(&msg, NULL, 0, 0))
{
if(msg.message == HM_MOUSE)
{
count++;
wchar_t str[128];
wsprintf(str,L"第%d次收到鼠标左键点击消息!",count);
::SetWindowText(hwnd,str);
::UpdateWindow(hwnd);
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}结果,我还是无论如何也获得不了HM_MOUSE消息!
我想问:
1、为什么获得不了?
2、如果我想为这个BUTTON按钮增加一个像窗口那样的WinProc,我应该怎么做?
...全文
相关推荐
这种贪吃蛇好奇怪(根据vc的MVC编写)
内容索引:VC/C++源码,游戏编程,贪吃蛇 有点奇怪的贪吃蛇游戏,看上去有些逗,根据vc的MVC编写,源码编译无错,希望大家喜欢。
奇怪按钮类
该资源是用于vc上自定义的一个自定义按钮
40个神奇国外开放源码WordPress插件设计
40个神奇国外开放源码WordPress插件设计集,本文档属于翻译稿,翻译的不是很细,免积分分享,请酌情下载,翻译原文请参照:http://www.odaad.com
MFC测试工程(有问题,难解决)
该MFC工程有些奇怪的问题,看看有没高手能解决。几天后会删除该资源
奇怪的机器人:使用JDA的酷炫多用途机器人
奇怪(JDA 4 Discord Bot) 使用构建的酷炫多功能机器人 特征 强大的节制 自动审核 React角色 定制的欢迎/告别消息 先进的票务系统 统计计数器通道 翻译 图像处理 以及更多 ... 快速链接 加入我们的支持服务器: 在这里加我: 可用命令 实用程序命令: 命令 描述 -covid <country> 获取指定国家/地区的统计数据 -github <username> 显示用户的github统计信息 -haste <text> 将一些文本发布到hastebin -help <command> 在机器人中显示带有命令的列表 -translate <code> <text> 从一种语言翻译成另一种语言 -trcodes 显示可用翻译代码的列表 -urban <search> 搜索城市词典 有趣的命令: 命令 描述 -animal <name


进程/线程/DLL
