window-messages

    0热度

    1回答

    我打电话给BroadcastSystemMessage方法从User32.dll。在一台PC(Windows8 Pro)上调用该方法,但调用永远不会结束。应用程序正在等待,但结果(也不例外)从不返回。我在几台Windows8电脑(不同硬件,有/没有杀毒软件等)上试过,但这种行为在这些电脑上从未发生过。 目标计算机没有任何已安装或正在运行的应用程序,它将注册自定义消息。所以所有的应用程序应该忽略广播

    0热度

    1回答

    我有一个外壳扩展,当另一个应用程序广播特定窗口消息(由RegisterWindowMessage注册的自定义消息)时,需要重新加载其配置。 我尝试了几种方法来拦截消息: Windows资源管理器的窗口上安装一个窗口的子类的回调,使用SetWindowSubclass。这适用于Window 7,但不适用于Windows 8,因为显然DllMain未在主线程中调用,并且SetWindowSubclas

    3热度

    2回答

    在C++程序(embarcadero XE2,vcl)中,我想从父窗口向所有子窗口发送窗口消息。 为此,我注册了一个windowMessage,发送消息的PostMessage(handle,msg,wparam,lparam)在所有句柄的循环中,并在每个对话框上用WndProc(TMessage& Message)接收。 我的问题是跟踪打开的窗口句柄。由于大多数对话框都是通过Show()打开的,

    1热度

    1回答

    当模态对话框处于活动状态时,主应用程序窗口是否可以检测到WM_CLOSE事件?如果没有,是否有任何方法检测WM_CLOSE事件,因为对话框的事件处理程序也没有检测到它。 要自己观察这种行为,打开记事本'about'菜单,然后右键单击任务栏中的记事本图标并选择'关闭窗口'选项,它将不起作用。 有没有人知道在模态窗口处于活动状态时为应用程序捕捉WM_CLOSE事件的方法?

    0热度

    1回答

    我目前正在创建一个WPF窗口,在调整大小时保留其宽高比。 我的第一个想法是处理WM_SIZE消息并在那里设置大小,但是这产生了恼人的闪烁。 所以我试图改变产生AccessViolationExceptions的WM_Size的lParam。在WM_SIZING上操纵lParam的情况也是如此。 AspectWindow.vb Imports System.Runtime.InteropServic

    1热度

    1回答

    我有一个表格,我已经删除标题栏,但保留边界(见this answer)。 在上面的回答它的说,它是需要有FormBorderStyle设置为Sizable或SizableToolWindow,并以被可观你捕获WM_NCHITTEST事件停止形式。唯一的问题是,这样做会使不是提高正常Form_MouseEnter或Form_MouseLeave事件。 有没有解决这个问题的方法? 我的代码: Prot

    0热度

    2回答

    是否有任何方法可以从对话框中的控件中确定最小化对话框? 我正在使用窗口消息ON_WM_SIZE,当对话框被最小化时,应该用类型SIZE_MINIMIZED调用。 BEGIN_MESSAGE_MAP(CEditT, CEdit) ON_WM_SIZE() END_MESSAGE_MAP() void CEditT::OnSize(UINT nType, int cx, int cy)

    0热度

    1回答

    如果我尽量减少我的外壳扩展文件夹,然后尝试通过单击任务栏上恢复它,我得到一个错误提示音并没有什么已经完成了。 使用Microsoft Spy++,我回顾尝试恢复该文件夹的事件,得到了以下几点: <00001> 0019013C S WM_WINDOWPOSCHANGING lpwp:021DEC48 <00002> 0019013C R WM_WINDOWPOSCHANGING <00003>

    2热度

    1回答

    我正在写一个钩子DLL,它处理窗口绘制消息。 我发现Vista及以上版本,hook dll接收到一些未知的消息id,具体是0x90〜0x95。 我做了一些谷歌上搜索,发现了一个msdn link和this,它告诉我,他们是什么样的信息: #define WM_UAHDESTROYWINDOW 0x0090 #define WM_UAHDRAWMENU 0x0091 #define WM_UAH

    0热度

    1回答

    我有一个包含子窗口的容器窗口(CFrameWnd),如果我在某些情况下将子窗口设置为spy ++,我看不到任何消息传递。为什么?在Windows之间调节消息的系统是什么?我检查了所有窗口都已启用。 子窗口从CDialog的继承和具有WS_CHILD样式 class PanelDialog : public CDialog { DECLARE_DYNAMIC(PanelDialog)