python - 如何处理Python中被调用库生成的弹出错误提示?

标签 python winapi error-handling popup swig

我有一个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/

相关文章:

python - 如何在本地主机上运行 heroku Django 应用程序时观看服务器消息

python - PythonOperator 的运行时配置

c - Windows API 验证码获取根证书

python - Flask应用程序在python中返回404错误

python - Openslide libjpeg 错误 : Wrong JPEG library version

python - GEKKO 中的 FOPDT 方程组 - 使用多个输入

python - Python 中的 VB.Net 子程序

windows - 在 HtmlHelp 中禁用打印按钮

c++ - C++ 应用程序的登录应该在单独的线程中完成吗?

python - 为什么我在 Tkinter 中出现未绑定(bind)的本地错误