1

我正在尝试弹出消息窗口,但运气不佳。我想在开始进程之前询问用户是否存在某些文件,然后指示用户下载这些文件(如果它们尚不存在)。我选择使用 win32api.MessageBox / win32con.MB_YESNO 函数抛出一个消息框,询问文件是否存在,然后如果答案为“不”,则使用 win32con.MB_OK 另一个消息框。

脚本运行并出现一个带有是/否按钮的消息框,但如果单击任一按钮,则不会发生任何事情。我实际上必须单击主脚本对话框上的“关闭”按钮,然后只有“否”按钮才能在消息框中起作用。但后来我得到一个因用户错误而取消的进程。

虽然我确信还有另一种方法可以做到这一点,但既然我已经开始走这条路,我决心要弄清楚。有人有什么想法吗?我想我已经检查了 7 页 Google 结果中的每个链接,但仍然不知道我做错了什么。

import arcpy, win32com.client, win32api, win32con
from win32con import MB_OK, MB_YESNO

result = win32api.MessageBox(0, "Do the files exist?.", "Shapefiles", win32con.MB_YESNO);
if result == win32con.IDYES:
    pass
else:
    win32api.MessageBox(0, "Please downloaded the windswath and forecast point & lines from HURREVAC and restart the script.", "HURREVAC Shapefiles", win32con.MB_OK);

arcpy.AddMessage("did this work?")
4

0 回答 0