如何保持python ctypes运行时调用的函数
我正在尝试创建一个使用ctypes调用winsparkle C库的最小python脚本。只有当我逐行运行代码时,代码才会起作用,如何保持python ctypes运行时调用的函数,python,multithreading,callback,ctypes,sparkle,Python,Multithreading,Callback,Ctypes,Sparkle,我正在尝试创建一个使用ctypes调用winsparkle C库的最小python脚本。只有当我逐行运行代码时,代码才会起作用,win\u sparkle\u check\u update\u without\u ui()弹出一个窗口按预期下载更新。但是在正常运行脚本时,这个函数会立即被调用和跳过,它不会保持打开状态,除非我添加hacky time.sleep选项 运行此函数并在用户关闭弹出窗口之前保持其打开状态的正确python方式是什么 from ctypes import CDLL imp
win\u sparkle\u check\u update\u without\u ui()
弹出一个窗口按预期下载更新。但是在正常运行脚本时,这个函数会立即被调用和跳过,它不会保持打开状态,除非我添加hacky time.sleep选项
运行此函数并在用户关闭弹出窗口之前保持其打开状态的正确python方式是什么
from ctypes import CDLL
import logging, time
class UpdateAgent(object):
def __init__(self, appcast_url):
self.appcast_url = appcast_url
def check_for_update(self):
winsparkle = CDLL("WinSparkle.dll")
url = self.appcast_url
winsparkle.win_sparkle_set_appcast_url(url.encode('ascii', 'ignore'))
winsparkle.win_sparkle_set_app_details(
unicode('Company'),
unicode('myapp'),
unicode(9))
winsparkle.win_sparkle_init()
winsparkle.win_sparkle_check_update_without_ui()
#time.sleep(10)
def run(self):
try:
self.check_for_update()
except Exception as e:
logging.info('%s' % (e))
没有解决办法?遇到同样的问题…我的解决方案是滚动我自己的代码。下载更新并运行它。要使winsparkle保持打开状态,您需要一个父用户界面来将其附加到该解决方案?遇到同样的问题…我的解决方案是滚动我自己的代码。下载更新并运行它。要使winsparkle保持打开状态,您需要将其附加到父UI