栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

防止未从现有终端调用控制台应用程序时关闭?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

防止未从现有终端调用控制台应用程序时关闭?

首先,试图使您摆脱聪明的黑客。设计一个单独的快捷方式来从Explorer运行是非常合适的,该快捷方式与要在命令行中使用的脚本所做的功能稍有不同(例如,保持控制台处于打开状态)。正如Alex所指出的那样,在nix上这不是问题,正确的做法始终是干净地退出,否则您的用户会抱怨。

如果仍然需要解决方法,可以使用以下代码来检测何时需要阻止控制台关闭,这是相当干净的。需要Windows
2000或更高版本,此功能包含逻辑:

def owns_console():    wnd = GetConsoleWindow()    if wnd is None:        return False    return GetCurrentProcessId() == GetWindowThreadProcessId(wnd)

基本上,它获取拥有Python正在使用的控制台的进程以及我们的进程的PID。如果它们相同,那么当我们退出控制台时,控制台将消失,因此需要保持打开状态。如果它们不同,或者没有连接任何控制台,则Python应该正常退出。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号