【问题标题】:How to use Power Setting GUIDs in python and get a status for monitor and display in python如何在 python 中使用电源设置 GUID 并在 python 中获取监视器和显示的状态
【发布时间】:2018-12-13 07:48:48
【问题描述】:

我真的是 python 的初学者,想知道如何使用电源设置 GUID 来获取监视器的状态并在 python 中显示。我已经访问过这个link,但它对我来说太复杂了,因为我只想得到一个单行句子,说Monitor onDisplay on。希望任何人都可以在python中为我提供指导。

谢谢。

【问题讨论】:

    标签: python windows winapi


    【解决方案1】:

    我建议您尝试一下您提到的链接中显示的代码。我在 Window 10 上使用 Python 3.6 进行了测试,它运行良好。

    在运行代码之前,您可能需要像这样安装两个模块:

    点安装 pypiwin32

    pip 安装comtypes

    之后,通过 Python IDE 打开 Python 代码文件,然后从菜单栏中选择运行模块。 您将获得以下输出:

    *** STARTING ***
    hwnd: 67998
    registering GUID_MONITOR_POWER_ON
    result: -0x5438e940
    lastError: 0
    
    registering GUID_SYSTEM_AWAYMODE
    result: -0x5438e780
    lastError: 0
    
    registering GUID_CONSOLE_DISPLAY_STATE
    result: -0x5438ea20
    lastError: 0
    
    registering GUID_ACDC_POWER_SOURCE
    result: -0x5438eb00
    lastError: 0
    
    registering GUID_BATTERY_PERCENTAGE_REMAINING
    result: -0x5438e6a0
    lastError: 0
    
    
    Entering loop
    Power setting changed...
    Monitor on
    Power setting changed...
    Display on
    Power setting changed...
    AC power
    

    【讨论】:

    • 是的,我知道并且已经运行了代码,但我似乎无法仅检索“监视器开启”和“显示开启”的信息,它一直在循环。你知道我怎么能得到它吗?因为我只需要根据监视器和显示状态触发一些东西。
    • 嗨 iyzad,从文档(1,2,3) 看来,它似乎被设计为以这种方式工作:等待系统将消息发送到应用程序并处理消息。也许你可以在 python 中使用多线程编程:一个线程监控显示状态,另一个线程做你想做的事情。
    • 嗨 iyzad,对于 Python 中的多线程,您可以参考 this thread 以获得简单示例。
    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 2011-02-09
    • 2011-06-02
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多