Python消息框与图标使用ctypes和windll

时间:2014-12-02 19:07:21

标签: python dll ctypes messagebox

所以,我正在寻找一种方法,只使用本机库在Python中创建一个简单的Messagebox,并且遇到了几个帖子,但是this one,利用ctypes导入win32.dll并调用它的MessageboxA功能。

import ctypes  # An included library with Python install.
ctypes.windll.user32.MessageBoxA(0, "Your text", "Your title", 1)

我觉得很酷的东西。

---但是---

当我查看documentation for MessageboxA on Microsoft's site时,事实证明这个MessageboxA功能可以做更多。我只是不知道如何正确传递参数。

我试图弄清楚提示消息框的标准方法,其中包含一个图标,如消息旁边的systemhand或警告图标。微软的文档表明应该将其输入uType参数,这是最后一个参数,但除了更改消息框的按钮之外,我还没有在这里取得任何进展。

1 个答案:

答案 0 :(得分:11)

你只是他们在一起

import ctypes
MB_OK = 0x0
MB_OKCXL = 0x01
MB_YESNOCXL = 0x03
MB_YESNO = 0x04
MB_HELP = 0x4000
ICON_EXLAIM=0x30
ICON_INFO = 0x40
ICON_STOP = 0x10

result = ctypes.windll.user32.MessageBoxA(0, "Your text?", "Your title", MB_HELP| MB_YESNO | ICON_STOP)

我从您链接到

的文档中获取了十六进制值