vb.net - 在外部应用程序中显示一个弹出窗口
问题描述
我正在开发一个应用程序,如果我按下组合键会在另一个外部应用程序的形式内显示一个弹出窗口,我的意思是类似于“Windows 游戏菜单”,但我不知道如何在其中显示弹出窗口外部应用程序。我给你留了一张图片,让你明白我的意思是弹出窗口。对不起我的英语,但我不会说话。提前致谢
解决方案
如果无法访问其代码或不知道是否已设置队列消息传递命令来执行此操作,则您无法控制另一个应用程序的一个应用程序表单。可以将应用程序的窗口编程为显示在任何其他窗口上,这可能不适用于 Directx - OpenGL 全区域,即当您正在玩使用相同功能的视频游戏时,因为最后一个是获胜。在这种情况下,您的弹出窗口几乎不可见,但考虑到标准表单应用程序,您可以通过使用带有 HWND_TOPMOST 标志的 userd32.dll 方法“SetWindowPos”使其停止。您首先需要检测应用程序窗口的位置,或者如果它是全屏窗口,您可以简单地检测屏幕的大小并考虑将其放置在中心,
有关 SetWindowPos 的详细信息,它位于 windows 基础 dll 中,但可以从下面的 .net 调用:
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setwindowpos 使用窗口句柄使窗口位于最顶层
推荐阅读
- websocket - 如何检查 Spring Websocket(Jetty) 中的 TCP 缓冲区大小?
- firebase-realtime-database - 有没有办法在没有数据库的情况下记录名字?
- javascript - 有人可以解释一下为什么“运算符优先级”适用于 javaScript 中的“||”、“&&”等逻辑运算符
- .net - VB.NET 关闭图表数据工作簿
- mysql - 如何通过ids查找Mysql(5.6版)中两行之间的差异
- json - 不要从缩小的 json 中的“值”中删除空格
- biztalk - 自动部署:两者之间的差异。BTS 2016 FP2 和 BTS2020
- reactjs - 如何自定义 React Material UI 的 Tab Component 的文本样式
- google-apps-script - V8 更新时,google 电子表格和 google-apps-script 中的代码和触发器丢失。如何回滚?
- here-api - 事件 API 多久更新一次新事件?