使用Python 启动windows 屏幕保护程序 及在线程中启动

首先安装moudle pywin32-219.win32-py2.7.exe

下载地址: http://pan.baidu.com/s/1qWBHgRE


Python实现代码;

import os, win32com.client

def runScreensaver():
    strComputer = "."
    objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
    objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
    colItems = objSWbemServices.ExecQuery("Select * from Win32_Desktop")
    for objItem in colItems:
        if objItem.ScreenSaverExecutable:
            os.system(objItem.ScreenSaverExecutable + " /start")
            break

Note:

该段程序只能够在Python的主进程中运行,在线程中起不起来,报如下错误:

com_error: (-2147221008, 'CoInitialize has not been called.', None, None)


经查阅

http://docs.activestate.com/activepython/2.5/pywin32/pythoncom__CoInitialize_meth.html

在起线程之前需要调用

pythoncom.CoInitialize()
来初始化com模块,相应代码:

import pythoncom
pythoncom.CoInitialize()

这样,线程就成功起来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值