windows - 在 python 上使用 ctypes 不显示多个消息框

标签 windows python-2.7 ctypes messagebox

嗨,我有一个简单的代码,使用 ctypes 显示消息框 但我的问题是在我添加 MB_TOPMOST 后它没有附加或重叠消息框?

def msgbox(self,msg):
        MB_OK = 0x0
        MB_OKCXL = 0x01
        MB_YESNOCXL = 0x03
        MB_YESNO = 0x04
        MB_HELP = 0x4000
        ICON_EXLAIM=0x30
        ICON_INFO = 0x40
        ICON_STOP = 0x10
        MB_TOPMOST=0x40000
        """
                HEX VALUE LINK
        https://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm
        """
        writeLogs = WriteLogs(
                    pathLog = app_config['path_logs'] +"\\"+strftime("%Y_%m_%d")+".log",
                    timedate = time.strftime("%m/%d/%Y %I:%M:%S %p")
                    )
        writeLogs.appendLogA(msg)
        ctypes.windll.user32.MessageBoxA(None, msg+str(operatorMessage), "[Error]", MB_OK | ICON_STOP | MB_TOPMOST)

最佳答案

我尝试将 MB_TOPMOST 更改为 MB_SYSTEMMODAL 以及我想要的输出,其中包含最上面和重叠的消息错误框。

您可以引用这个链接: https://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx

stackoverflow 上的这篇文章给了我一个想法: Have Win32 MessageBox appear over other programs

def msgbox(self,msg):
        MB_OK = 0x0
        MB_OKCXL = 0x01
        MB_YESNOCXL = 0x03
        MB_YESNO = 0x04
        MB_HELP = 0x4000
        ICON_EXLAIM=0x30
        ICON_INFO = 0x40
        ICON_STOP = 0x10
        MB_TOPMOST=0x40000
        MB_SYSTEMMODAL=0x1000
        """
                HEX VALUE LINK
        https://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm
        """
        writeLogs = WriteLogs(
                    pathLog = app_config['path_logs'] +"\\"+strftime("%Y_%m_%d")+".log",
                    timedate = time.strftime("%m/%d/%Y %I:%M:%S %p")
                    )
        writeLogs.appendLogA(msg)
        ctypes.windll.user32.MessageBoxA(None, msg+str(operatorMessage), "[Error]", MB_OK | ICON_STOP | MB_SYSTEMMODAL)

关于windows - 在 python 上使用 ctypes 不显示多个消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354552/

相关文章:

c++ - Windows 7 应用程序在不集中注意力时运行速度较慢

windows - 如何在 Docker for Windows (Windows 10) 中挂载网络卷

windows - Railo Best 是在 Linux 还是 Windows 上实现的?

python - Numpy Memmap Ctypes 访问

python - 如何在 Numba @jit 中调用使用指针返回值的 ctypes 函数

c++ - 为什么 std::sqrt() 在 C++ 中对 double 据不能正常工作?

python - 使用python将数字列表压缩为唯一的非重叠时间范围

python - 是 Python 中的关键字

python - 从 globals() 访问打印函数

python-3.x - python ctypes 支持 size-0 数组吗?