我有一个 Minecraft 基岩版服务器在我们的共享电脑上运行。我想通过 python 与它交互。然而,我遇到的一个问题是我的兄弟有时会重新启动我们的电脑或 Windows 更新。我需要知道如何检测关闭事件并在重新启动之前将关闭命令发送到服务器。我正在使用子流程库。
因此,您需要的是 win32API 和所描述的函数here http://timgolden.me.uk/pywin32-docs/win32api__SetConsoleCtrlHandler_meth.html。您可以使用此函数添加所谓的控制处理程序方法,该方法将在程序因任何原因(包括关闭)而关闭或终止时运行。您可以找到可传递给处理程序的不同代码及其含义的列表here https://learn.microsoft.com/en-us/windows/console/handlerroutine。理想情况下,您应该有一个处理程序方法,该方法仅关闭服务器,等待其完成关闭,然后返回。
我对图书馆没有任何个人经验,但它应该相当简单。
编辑:正如@ErykSun 所指出的,您将需要创建一个隐藏窗口才能接收事件。老实说,我不知道如何创建那个隐藏的窗口。一些文档表明将应用程序作为服务运行也可能有效。如果有时间,我会进一步研究这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)