使用 ctypes 和 Windll 的带有图标的 Python MessageBox

2023-12-24

因此,我正在寻找一种仅使用本机库在 Python 中创建简单消息框的方法,并遇到了几篇文章,但即this one https://stackoverflow.com/questions/2963263/how-can-i-create-a-simple-message-box-in-python,利用ctypes导入win32.dll并调用其MessageboxA函数。

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

我认为非常酷的东西。

- - 但 - -

当我什么时候看Microsoft 网站上的 MessageboxA 文档 http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx事实证明,这个 MessageboxA 函数可以做更多的事情。我只是不知道如何正确传递参数。

我正在尝试找出引发带有图标的消息框的标准方法,例如消息旁边的系统手或警告图标。微软的文档表明应该将其输入到 uType 参数中,这是最后一个参数,但除了更改消息框的按钮之外,我无法在此处取得任何进展。


你刚才OR他们在一起

import ctypes

# buttons
MB_OK = 0x0
MB_OKCXL = 0x01
MB_YESNOCXL = 0x03
MB_YESNO = 0x04
MB_HELP = 0x4000

# icons
ICON_EXCLAIM = 0x30
ICON_INFO = 0x40
ICON_STOP = 0x10

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

我从您链接到的文档中获取了十六进制值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ctypes 和 Windll 的带有图标的 Python MessageBox 的相关文章

随机推荐