我有一个Python应用程序,该应用程序调用外部库(DLL上的Swig包装器)来初始化相机。如果没有摄像头,则外部库会生成一个错误,我可以通过程序捕获并处理该错误,但是它还会生成一个 pop 窗口,需要关闭该 pop 窗口,然后程序才能继续。
我需要阻止 pop 窗口的发生,或者以编程方式关闭 pop 窗口。 python中是否可能提供这些选项之一?
最终产品需要能够自主运行。
谢谢!
最佳答案
感觉很脏...我启动了一个子进程,在尝试对其进行初始化之前,它会寻找警告窗口。然后,如果相机无法初始化并引发 pop 警告,则我会识别它并使用win32gui杀死它。
主要功能中的相关代码:
try:
subprocess.Popen(["python", "-m", "kill_warning"])
init_camera()
except NoCamera:
print("No camera found!")
和
kill_warning
代码(每秒尝试一次十秒钟):import win32gui
import win32con
import time
if __name__ == "__main__":
for i in range(10):
handle = win32gui.FindWindow(None, r'TIS Initialisation Error')
win32gui.PostMessage(handle, win32con.WM_CLOSE,0,0)
time.sleep(1)
如果使用这种方法使您感到危险,请告诉我!
关于python - 如何处理Python中被调用库生成的弹出错误提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34405779/