Python 如何让 MessageboxW 保持在所有其他 windows 之上?
Python How to keep MessageboxW on top of all other windows?
上下文:
我有一个小脚本,通过使用内置消息框(参考:MSDN MessageBox)中的 Windows 创建一个消息框来提醒用户事件,该消息框是使用 [=13= 导入的].此脚本适用于 Windows OS.
问题:
目前,消息框将出现在所有其他 windows 之上,但由于它是如此之小 window,用户可以轻松地点击另一个 window,这可能会隐藏消息框。
我想要的
我想让消息框始终位于其他 windows 之上。如果无法做到这一点,那么有没有办法增加消息框的尺寸?
示例代码:
import ctypes
ctypes.windll.user32.MessageBoxW(0, text, title, 0x00010000)
import ctypes
text = 'Using MB_SYSTEMMODAL'
title = 'Some Title'
ctypes.windll.user32.MessageBoxW(0, text, title, 0x1000)
MB_SYSTEMMODAL
(0x1000) 具有 WS_EX_TOPMOST
(0x40000) 样式。
MessageBoxEx
函数似乎只使用
WS_EX_TOPMOST
(0x40000) 样式。
import ctypes
text = 'Using WS_EX_TOPMOST'
title = 'Some Title'
ctypes.windll.user32.MessageBoxExW(0, text, title, 0x40000)
MessageBox 函数没有改变大小的参数。也许
像 tkinter 或其他 gui 工具包这样的替代方案可能能够
更改消息框大小(尽管如果它只是一个包装器可能不会
MessageBoxW) 或者你可以创建一个自定义 window 来使用。
有关要使用的值,请参阅 MSDN MessageBox function。
上下文:
我有一个小脚本,通过使用内置消息框(参考:MSDN MessageBox)中的 Windows 创建一个消息框来提醒用户事件,该消息框是使用 [=13= 导入的].此脚本适用于 Windows OS.
问题:
目前,消息框将出现在所有其他 windows 之上,但由于它是如此之小 window,用户可以轻松地点击另一个 window,这可能会隐藏消息框。
我想要的
我想让消息框始终位于其他 windows 之上。如果无法做到这一点,那么有没有办法增加消息框的尺寸?
示例代码:
import ctypes
ctypes.windll.user32.MessageBoxW(0, text, title, 0x00010000)
import ctypes
text = 'Using MB_SYSTEMMODAL'
title = 'Some Title'
ctypes.windll.user32.MessageBoxW(0, text, title, 0x1000)
MB_SYSTEMMODAL
(0x1000) 具有 WS_EX_TOPMOST
(0x40000) 样式。
MessageBoxEx
函数似乎只使用
WS_EX_TOPMOST
(0x40000) 样式。
import ctypes
text = 'Using WS_EX_TOPMOST'
title = 'Some Title'
ctypes.windll.user32.MessageBoxExW(0, text, title, 0x40000)
MessageBox 函数没有改变大小的参数。也许 像 tkinter 或其他 gui 工具包这样的替代方案可能能够 更改消息框大小(尽管如果它只是一个包装器可能不会 MessageBoxW) 或者你可以创建一个自定义 window 来使用。
有关要使用的值,请参阅 MSDN MessageBox function。