通常,此代码在调用时工作正常。
import ctypes
def message_box(title, text):
ctypes.windll.user32.MessageBoxW(0, text, title, 1)
但是当它与其他代码一起使用时,它会挂在调用message_box的行。
import ctypes
def message_box(title, text):
ctypes.windll.user32.MessageBoxW(0, text, title, 1)
while True:
time = input("Enter time of the reminder in the format 'HH:MM': ")
if (len(time) != 5):
print("\nInvalid answer\n")
continue
if (time[2] != ":"):
print("\nInvalid answer\n")
continue
try:
hours = int(time[0:2])
minutes = int(time[3:5])
except:
print("\nInvalid answer\n")
continue
if not (0 < hours < 23 or 0 < minutes < 59):
print("\nInvalid answer\n")
continue
break
message_box("Example_title", "Example_text")
答案 0 :(得分:0)
我找到了怎么做。
在消息框的第四个参数中,您需要输入由管道('|')分隔的值。从我的有限测试中,MB参数定义了用户可以单击的按钮,除了将窗口置于前面的MB_SYSTEMMODAL之外。 ICON参数定义了窗口弹出时产生的噪声以及窗口中表示其用途的小图像。
MB_OK = 0x0
MB_OKCXL = 0x01
MB_YESNOCXL = 0x03
MB_YESNO = 0x04
MB_HELP = 0x4000
MB_SYSTEMMODAL = 4096
ICON_EXCLAIM = 0x30
ICON_INFO = 0x40
ICON_STOP = 0x10
def message_box(title, text):
ctypes.windll.user32.MessageBoxW(0, text, title, MB_OK | ICON_INFO | MB_SYSTEMMODAL)