- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
进行一些dll注入(inject)并需要销毁某个窗口。但是,DestroyWindow
仅当创建窗口的同一线程调用它时才起作用。否则,它将失败并显示错误 5:访问被拒绝。
我想也许我可以通过获取它的线程ID(DWORD dwTid = GetWindowThreadProcessId
)来欺骗它认为我是创建线程,然后将当前线程的线程ID设置为它: __writefsdword(0x24, dwTid)
但它仍然失败,错误为 5,访问被拒绝。
经过一番谷歌搜索后,我还没有找到答案。
顺便说一句:我知道我可以发送WM_DESTROY
,但是,出于好奇和解决问题的需要,我想知道如何使用DestroyWindow
来做到这一点。
最佳答案
要调用DestroyWindow()
,您必须注入(inject)在创建窗口的线程上下文中运行的代码。使用 GetWindowThreadProcessId()
获取窗口所属线程 ID,然后使用 SetWindowsHookEx()
将消息 Hook 安装到该线程中,最后将任何消息发布/发送到窗口。当钩子(Hook)回调收到消息时,它将在窗口线程的上下文中运行,因此可以在窗口上调用DestroyWindow()
(HWND
被提供给钩子(Hook)回调)。
关于c++ - 如何从远程线程 DestroyWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45853173/
DestroyWindow()文档说明如下: The function also destroys the window's menu, flushes the thread message queu
进行一些dll注入(inject)并需要销毁某个窗口。但是,DestroyWindow 仅当创建窗口的同一线程调用它时才起作用。否则,它将失败并显示错误 5:访问被拒绝。 我想也许我可以通过获取它的线
WndProc是主窗口的窗口过程。 ChildProc是子窗口的窗口过程。 ChildProc 未收到 WM_DESTROY。我做错了什么? 编辑:如果我从 hChild = CreateWindow
我在创建主窗口后创建了一个窗口,但在其句柄上调用 DestroyWindow 会关闭整个应用程序,我怎样才能简单地摆脱它? 它看起来像这样: BOOL InitInstance(HINSTANCE h
好吧,我可以理解该函数是否会返回错误或抛出异常,但出于某种原因,我对 DestroyWindow 的调用会在此时退出程序。就像实际的 exit() 函数改变了我的程序流程一样。文档没有提到这样的事情,
我打开了一个窗口,就像 OpenCV 教程所示,但我希望能够关闭该窗口并在程序中执行其他操作。图像显示正确,但是当调用 destroyWindow 时,它似乎什么也没做,只是移到下一行代码。我也尝试过
我有这门课: WNDCLASSEX ActionButton::m_wndClass = CreateWndClass(); ActionButton::ActionButton() : m_
嗨,我正在创建 Windows 上下文菜单的模拟。 显示对话框执行以下操作: 使用 CreateDialogIndirectParam 创建一个对话框 运行消息循环: while ( Continue
我目前正在 MFC 应用程序中处理对话框,诚然,我对 MFC 还很陌生。 假设我有一个类 A(派生自 CDialog),它使用类 B(也派生自 CDialog) >)。因此,A::OnInitDial
您好,我正在使用 MFC 制作一个基于对话框的应用程序: BOOL CClockMasterDlg::OnInitDialog() { CDialogEx::OnInitDialog(); m_Mod
在我的演示应用中 case WM_CLOSE: DestroyWindow(hndl); return 0; 和 case WM_CLOSE: PostQuitMessage(
我刚开始用 Python 学习 OpenCV for Raspberry Pi 3。我为 namedWindow() 写了一个简单的代码。问题是 destroyWindow() 没有像我预期的那样工作
我在 Mac OS X (Lion) 上的 Python 2.7 下使用 openCV...每当我运行代码以简单地显示相机源(来自 iSight)时,Python 就会卡住。看起来相机实际上并没有得到
我正在用 C++ 编写实时视频处理程序,并希望能够在彩色、灰度和单色模式下切换具有相同 mjpeg 流的三个窗口。我的所有图像源都在运行,但是,由于我的屏幕很小,我希望能够单独打开和关闭它们。为此,我
在下面的代码中,DestroyWindow 或DestroyAllWindows 无法关闭ShowImage 打开的窗口。当我试图通过单击关闭按钮关闭它时,窗口暂停。杀死窗口后,整个 IDLE 关闭。
我的程序使用以下代码生成一系列窗口: def display(img, name, fun): global clicked cv.NamedWindow(name, 1) c
我是一名优秀的程序员,十分优秀!