参考资料:http://www.knowsky.com/885816.html
直接上源代码:
# -*- coding: cp936 -*-
import os
import subprocess
import _winreg
import sys
##从注册表中获取已安装程序
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", 0, _winreg.KEY_ALL_ACCESS)
for i in xrange(0, _winreg.QueryInfoKey(key)[0]-1):
DisplayName = ''
DisplayIcon = ''
try:
key_name_list =_winreg.EnumKey(key, i)
each_key_path = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"+'\\'+key_name_list
each_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, each_key_path, 0, _winreg.KEY_ALL_ACCESS)
DisplayName, REG_SZ = _winreg.QueryValueEx(each_key, "DisplayName")
print DisplayName
try:
DisplayIcon, REG_SZ = _winreg.QueryValueEx(each_key,"DisplayIcon")
print DisplayIcon
except WindowsError:
pass
except WindowsError:
pass
##获取屏保相关信息,是否需要屏保,屏保等待时间,是否进行密码校验
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, r"Control Panel\Desktop", 0, _winreg.KEY_ALL_ACCESS)
ScreenSaveTimeOut, REG_SZ = _winreg.QueryValueEx(key,"ScreenSaveTimeOut")
print ScreenSaveTimeOut
ScreenSaverIsSecure, REG_SZ = _winreg.QueryValueEx(key,"ScreenSaverIsSecure")
print ScreenSaverIsSecure
ScreenSaveActive, REG_SZ = _winreg.QueryValueEx(key,"ScreenSaveActive")
print ScreenSaveActive
##获取共享文件信息
##net share可以获取所有window中获取的所有共享文件信息
name = os.system("net share")
print name
##使用subprocess获取共享文件信息,并且获取共享文件的详细信息
p = subprocess.Popen('net share', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
#print line,
line_split = line.split(' ')
if len(line_split)>1:
#print line_split
commond = 'net share ' + line_split[0]
p2 = subprocess.Popen(commond, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
print commond
print p2.stdout.readlines()
line2 = p2.stdout.readlines()
for lines in line2:
print line2