web-dev-qa-db-ja.com

Python ctypesとwindllを使用したアイコン付きのMessageBox

だから、私は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のドキュメント を見ると、このMessageboxA関数はさらに多くのことを実行できることがわかります。にパラメータを適切に渡す方法がわかりません。

メッセージの横にあるsystemhandアイコンや警告アイコンなどのアイコンが入ったメッセージボックスを表示するための標準的な方法を見つけようとしています。 Microsoftのドキュメントには、これを最後のuTypeパラメーターに入力する必要があることが示されていますが、メッセージボックスのボタンを変更する以外に、ここで進行することはできません。

12
MrBubbles

あなたはただ[〜#〜]または[〜#〜]それらを一緒に

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)

リンク先のドキュメントから16進値を取得しました

13
Joran Beasley