向隐藏窗口发送消息不起作用

阿里·达米尔奇

我想在窗口的按钮上发送一条点击消息,它的标题是“Form1”,按钮的标题是“button1”,这是我的代码:

我通过 SPY++ 检查了这个句柄似乎是正确的..

    #include "stdafx.h"
    #include <windows.h>
    #include <conio.h>

    int main()
    {
     while(1)
     {
       HWND HWin, btn;
       HWin = FindWindowExA(NULL,NULL,NULL,"Form1");
       btn = FindWindowExA(HWin,0,NULL,"button1");
       SendMessage(btn,BM_CLICK,0,0);
       _getch();
      }
    }

这段代码运行良好,一切都很好……但是当“Form1”设置为隐藏时,sendMessage 似乎不起作用!为什么???

请注意,FindWindowExA(...)在隐藏“Form1”时仍然返回相同的句柄,并且与之前的相同(显示时)

设置隐藏/显示“Form1”是通过以下几行完成的:

显示:

    ShowWindow(HWin,SW_SHOW);

隐藏:

    ShowWindow(HWin,SW_HIDE);

我在 VS 2010 上运行

我想知道如果 sendMessage 在隐藏窗口上不起作用还有其他方法吗?

谢谢大家

塞尔比

我假设您FindWindow在执行消息传递代码之前明智地检查以确保当窗口隐藏时您的调用没有返回 NULL。

假设您正在获取从 FindWindow 返回的有效 HWND,而不是BM_CLICK发送到按钮本身消息。尝试向WM_COMMAND父窗口发送消息。

if (HWin && btn)
{
    LONG ctrlId = GetWindowLong(btn, GWL_ID);
    SendMessage(HWin, WM_COMMAND, MAKEWORD((WORD)ctrlId, BN_CLICKED), (LPARAM)btn);
}

如果应用程序本身处于隐藏状态时不期望单击通知的状态,则您可能会面临一些非常奇怪的行为。

我认为这适用于 win32 应用程序或对话框。不确定 .NET 表单应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Twilio发送消息不起作用

来自分类Dev

快速代码发送消息不起作用

来自分类Dev

PhpMailer发送邮件但消息不起作用

来自分类Dev

从Android手机向PC(Windows)发送udp消息不起作用

来自分类Dev

隐藏不赞成使用的错误消息不起作用

来自分类Dev

向 WhatsApp 发送 URL 时,url 编码不起作用

来自分类Dev

向控制器发送 ajax 请求不起作用

来自分类Dev

Android处理程序删除发送消息不起作用

来自分类Dev

为什么我的频道消息发送代码不起作用?

来自分类Dev

Twilio消息发送在ASP .NET中不起作用

来自分类Dev

android发送多个消息到多个号码不起作用

来自分类Dev

从客户端发送 FCM 消息不起作用

来自分类Dev

Firebase Admin FCM 发送消息不起作用

来自分类Dev

Docker:向本地主机发送日志不起作用,但 0.0.0.0 起作用,为什么?

来自分类Dev

Javascript隐藏不起作用

来自分类Dev

溢出:隐藏不起作用

来自分类Dev

窗口大小不起作用

来自分类Dev

窗口滚动不起作用

来自分类Dev

Firebase消息不起作用

来自分类Dev

Django消息不起作用

来自分类Dev

确认消息不起作用

来自分类Dev

通知消息不起作用

来自分类Dev

确认消息不起作用

来自分类Dev

通知消息不起作用

来自分类Dev

Firebase消息不起作用

来自分类Dev

发送按钮不起作用

来自分类Dev

通知发送不起作用

来自分类Dev

在Intellij IDEA(Shift + Escape)中隐藏工具窗口的快捷方式不起作用

来自分类Dev

隐藏窗口任务条形码在iis7.5上不起作用