首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vista窗口焦点问题

Vista窗口焦点问题
EN

Stack Overflow用户
提问于 2008-10-08 19:01:55
回答 4查看 1.6K关注 0票数 0

我有一个管理病人人口统计信息的应用程序。与该数据一起,用户可以扫描患者的照片并将该照片分配给患者。当用户单击扫描按钮时,将打开一个单独的应用程序作为对话框,以便扫描图像。在XP上运行时,一切都运行得很好。成像应用程序加载正常,并获得了焦点。然而,在Vista上,成像应用程序偶尔不会获得焦点,而是在主应用程序后面弹出。当运行全屏或通过2008 application Server时,你看不到应用程序,你只看到一个锁定的屏幕,看起来什么都没有发生。有没有办法改变Vista上的窗口焦点管理,让它像XP那样工作?如果可能的话,我正在寻找一种方法来解决这个问题,而不需要更改实际的应用程序。

EN

回答 4

Stack Overflow用户

发布于 2008-10-08 19:19:08

我认为您必须对您的应用程序进行更改,以允许图像处理应用程序获得焦点。我假设您的应用程序通过ShellExecuteCreateProcess启动图像处理应用程序。如果是这样的话,您可以通过SHELLEXECUTEINFO.hProcess (对于ShellExecute)或PROCESS_INFORMATION.hProcess (对于CreateProcess)来获取启动的进程的句柄。启动映像应用程序后,立即调用AllowSetForegroundWindow应用程序接口:

代码语言:javascript
复制
AllowSetForegroundWindow(GetProcessId(hProcess));

这将允许成像应用程序在启动时将其主窗口/对话框置于前台。

票数 1
EN

Stack Overflow用户

发布于 2008-10-08 20:03:35

您可以尝试以下步骤:

  1. 右键单击exe并选择Properties
  2. Select
  3. 检查以兼容模式运行此程序:
  4. 选择Windows XP (Service Pack2)
票数 1
EN

Stack Overflow用户

发布于 2008-10-08 19:07:04

您可以遍历所有顶级HWND,并通过其窗口类识别扫描应用程序,然后发送适当的消息来引发窗口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/184340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档