Windows Python:为什么第一个打开的窗口未显示为活动状态?
我发现在 Python Windows命令行提示下使用python脚本有一个非常奇怪的问题,为了重现这个问题,你可以简单地执行以下步骤: >启动Python命令行提示符(这通常是点击开始菜单 – > Python 2.7-> Python(命令行). import ctypes >键入以下文本,然后按Enter键. ctypes.windll.user32.MessageBoxA(0,"Your text","Your title",1) >您将看到一个消息框已打开,但此消息框窗口未激活. ctypes.windll.user32.MessageBoxA(0,1) >现在,消息框显示已激活(预期行为) 所以,我的问题是,为什么第一个消息框(窗口)没有显示为活动状态?我最初在GDB命令行下运行Python漂亮的打印机时发现这个问题,因为我想使用一些python漂亮的打印机来查看数据,比如这个GDB cv::Mat python object issue when debugging a c++ program,我需要在输入plot命令后立即显示OpenCV Image窗口. 但后来我发现这是一个与Python本身有关的问题. 我意识到原来的答案实际上并没有像第一次尝试那样激活窗口.但是,this SO answer在第一次尝试时对我有用.使用MB_SETMODAL标志(0x00001000)作为解决方法:set_modal_flag = 0x00001000 ctypes.windll.user32.MessageBoxA(0,set_modal_flag) (*编辑 – 以前的代码,可能“应该”工作,但没有.) 你能试试吗? 0x10选项是我在评论中提到的MB_SETFOREGROUNDWINDOW选项.它能做你想要的吗? set_foreground_flag = 0x00010000 ctypes.windll.user32.MessageBoxA(0,set_foreground_flag) 至于“为什么”它不起作用,上面的答案也解释了这一点.我在过去也无法激活窗口并直接使用SetForegroundWindow()但在异步窗口上我可以直接调用它. (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- xaml – 属性内容设置多次
- windows10 安装python.msi出现error 2502/2503解决方法
- wpf – xaml Scrollviewer – 禁用整个窗口的过度滚动/橡皮
- Windows/Linux命令查看文件MD5,SHA1,SHA256 文件校验
- 飞溅屏幕 – 通用窗口10个应用程序的Splash屏幕
- windows-7 – 在windows7中设置JRE路径的要求,如设置JDK的路
- Microsoft Unit Testing Framework for C++
- .net – 可以按需下载先决条件的好安装程序
- windows – 如何通过apt-cyg安装cygwin / X
- _asm int 3 软件中断
- 如何在Windows Phone 7系列上获取屏幕尺寸?
- Windows Server 2016-安装AD域服务注意事项
- Windows Containers 大冒险: 优化计划(Dockerfil
- windows-phone-8 – Windows Phone 8.1应用程序无
- windows-server-2008 – IIS可以从GPU核心创建线
- windows – 启动进程时“print”和“printo”动词
- WiX – 通过检查修订来防止降级
- windows – 为什么模拟会话中定义的DOS设备不会出
- 如何在Windows中挂钩应用程序和进程启动?
- .net – 适用于Windows 7.0的蓝牙低功耗API