python 修改 刪除 驅動服務 登錄檔

2021-07-28 13:52:00 字數 3108 閱讀 5938

外掛程式釋放.sys到c:\windows下,使用python通過修改其啟動方式後斷電重啟禁止驅動載入,原始碼如下

另外python操作登錄檔出現「windowserror: (5, 」)」的話

其實解決的辦法很簡單,通過閱讀文件發現,問題在於_winreg.openkey()中的sam引數sam引數用來定義key的訪問型別查詢的設定成read 寫入的設定成write就不會出現錯誤了

v 1.0

# -*- coding:utf-8 -*-

import glob

import os

from _winreg import *

f = glob.glob('c:\windows' + '\\*.sys')

for file in f :

filename = os.path.basename(file)

filename2 = filename[0:-4]

chinesedisplay = '6666666666666666666666666666666666666666: c:\windows\%s' %filename

print chinesedisplay.decode("utf-8")

#change value

regpath = 'system\\currentcontrolset\\services' + '\\' + filename2

reg = openkey(hkey_local_machine, regpath, 0, key_write)

start = 'start'

value2 = '4'

setvalueex (reg, start, 0, reg_dword, 4)

#delete key

#regpath2 = 'system\\currentcontrolset\\services'

#reg2 = openkey(hkey_local_machine, regpath2, res=0, sam=key_write)

#deletekey(reg2, filename2)

chinesedisplay2 = '666666666666666666666666666666666'

print chinesedisplay2.decode("utf-8")

#print isinstance(filename2, basestring)

closekey(reg)

v1.1

# -*- coding:utf-8 -*-

import glob

import os

from _winreg import *

#獲取當前程式所在路徑

currentpath1 = os.getcwd()

currentpath2 = '現在程式所在的路徑為 :'+ currentpath1

print currentpath2.decode("utf-8")

#遍歷所有可疑檔案

f = glob.glob('c:\windows' + '\\*.sys')

print ('666 c:\windows 666').decode("utf-8")

#判斷有多少個驅動檔案並刪除沒有載入的驅動

for i, file in enumerate(f) :

#列舉路徑

filename = os.path.basename(file)

sysrootpath2 = 'c:\\windows\\' + filename

#print i, filename

#嘗試刪除驅動檔案

try:

os.remove(sysrootpath2)

print ('66666').decode("utf-8") + filename + ('6666').decode("utf-8")

except:

print ('6666666666666666').decode("utf-8")

#if i==0:

# print ('6666666666666666').decode("utf-8")

#else:

# print ('6666666666666666666666666666666666666666666').decode("utf-8")

#確認外掛程式驅動名

for filewg in f :

wdfilename = os.path.basename(filewg)

realwgfilename = wdfilename[0:-4]

print ('6666666666666666666666666666666:').decode("utf-8")

print (wdfilename)

#修改外掛程式驅動登錄檔鍵值

regpath = 'system\\currentcontrolset\\services' + '\\' + realwgfilename

reg = openkey(hkey_local_machine, regpath, 0, key_write)

start = 'start'

setvalueex (reg, start, 0, reg_dword, 4)

closekey(reg)

#delete key

#regpath2 = 'system\\currentcontrolset\\services'

#reg2 = openkey(hkey_local_machine, regpath2, res=0, sam=key_write)

#deletekey(reg2, filename2)

#chinesedisplay2 = '66666666666666666666666666666666666666666666'

#print chinesedisplay2.decode("utf-8")

#print isinstance(filename2, basestring)

print ('666666666666666666666666666666666666666666666666').decode("utf-8")

增加 修改 刪除

alter alter table student add column 學歷 varchar 20 新增一欄位 學歷 alter alter table student add 星座 char 50 not null after 性別 在性別之後新增一欄位星座 update update stud...

DataGridView 修改 刪除

private int currow 0 滑鼠右鍵得到的當前行號 region 激發滑鼠事件,顯示右鍵選單,得到被選中的行的行號,注意第一列被隱藏的情況考慮 private int showrightmenu datagridview datagridview,contextmenustrip co...

插入修改刪除

六 插入資料 insert 表名 列名 values 插入的列值 insert stuinfo stuname,stuno,stuage,stuid,stuaddress values 張三 001,20,100,hello 1 注意事項 a 每次插入一行資料,不可能只插入半行或者幾列資料,因此,插...