OS: Windows 10
我有这个 python 脚本,它会询问用户是否要打印文件。手动运行这个 python 脚本时,它运行良好。但是,当将 Python 脚本安装为 NSSM 服务时,它会跳过消息框部分。以下不是完整的程序,而是其中的一部分。其余的 python 脚本(下面未包括)的执行情况与它应有的一样,因为它作为服务运行。
#!/usr/bin/python3
import os ,sys
import time
import ctypes
def SomeProgram():
if SomeCondition:
return True, FilePath
def Mbox(title, text, style):
return ctypes.windll.user32.MessageBoxW(0, text, title, style)
if __name__ == '__main__':
while True:
WriteToPdf, FilePath = SomeProgram()
if WriteToPdf:
MboxResult = Mbox('Print?', 'Would you like to print the the file?', 4)
if MboxResult==6:
#Yes was selected. Thus print the document
os.startfile(FilePath, "print")
time.sleep(4)
如何获取作为 NSSM 服务安装的带有脚本的消息框?
编辑:
NSSM 将以下错误输出到日志文件
Traceback (most recent call last):
File "C:\temp\FATs\populate_template.py", line 181, in <module>
MboxResult = Mbox('Print protocoll?', 'Would you like to print the recently saved protocoll', 4)
File "C:\temp\FATs\populate_template.py", line 168, in Mbox
return ctypes.windll.user32.MessageBoxW(0, text, title, style)
KeyboardInterrupt