- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个设置应用程序,如果用户两次单击相同的设置,他们会收到弹出消息“另一个设置实例已在运行”。单击该消息上的“确定”后,我想将焦点放回正在运行的现有安装窗口。我目前有以下代码:
if("setup.exe" == CString(buffer))
EnumWindows(EnumWindowsProc,(LPARAM)processID);
BOOL CALLBACK EnumWindowsProc(HWND windowHandle,LPARAM lParam)
{
DWORD searchedProcessId = (DWORD)lParam;
DWORD windowProcessId = 0;
GetWindowThreadProcessId(windowHandle,&windowProcessId);
if(searchedProcessId == windowProcessId)
{
//Set focus when detects the right window.
SetForegroundWindow(windowHandle);
return FALSE;
}
return TRUE;
}
如果我停留在安装向导(安装防护罩)的第一个屏幕/步骤,上面的代码就可以工作。
当我移动到安装向导的下一个屏幕时,此焦点逻辑不再有效。调试后我发现函数 GetWindowThreadProcessId 找不到任何匹配 searchedProcessId 的 windowProcessID。我还确认了以下内容:
我阅读了 GetWindowThreadProcessId 并看到以下说明:“返回值是创建窗口的线程的标识符。”在我自己的解释中,是这是因为向导的第二步/屏幕是由它自己的线程生成的吗?
我尝试使用 EnumChildWindow() 函数,但这没有帮助。如果有人能够为我指出正确的方向以使其发挥作用,我将非常感激?
最佳答案
我会使用 Spy++它带有 Visual Studio 或类似的系统监控工具,可以向您显示所有窗口/线程,因此您可以尝试确认安装向导到底在做什么。很有可能 EnumWindows()
工作得很好,这是您的代码或您对工作方式的假设有问题。
关于c++ - GetWindowThreadProcessId 找不到我的窗口句柄,即使它的进程 ID 存在于 Window 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9928218/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!