青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 126,  comments - 73,  trackbacks - 0
讀寫注冊表
2003-11-3加入??來自未知??作者佚名??7條評論??點擊22078
???????Win?95及NT的注冊數據庫(Registry)是系統中非常重要的組成部分。在Win32?API中有一組Reg函數來處理這些問題。其一般的讀寫過程如下:
?
????1、使用RegOpenKeyEx或RegCreateKeyEx函數打開或創建一個鍵;?
????2、如果上一步成功,使用RegQueryValueEx讀取子鍵的值,使用RegSetValueEx設置子鍵值,使用RegEnumKey獲得所有子鍵,使用RegDeleteKey刪除一個鍵;?
????3、完成操作后使用RegCloseKey關閉鍵。?
????下面這段程序打開HKEY_CURRENT_USER\Software\Zeal?SoftStudio\AskPro?FTP\LastTime鍵,然后讀取WOL子鍵的值。?

????HKEY?hkey;?
????char?sz[256];?
????DWORD?dwtype,?sl?=?256;?
?????
????RegOpenKeyEx(HKEY_CURRENT_USER,?
????"Software\\Zeal?SoftStudio\\AskPro?FTP\\LastTime",?
????NULL,?KEY_ALL_ACCESS,?&hkey);?
????RegQueryValueEx(hkey,?"WOL",?NULL,?&dwtype,?(LPBYTE)sz,?&sl);?
????RegCloseKey(hkey);?
????MFC程序可以使用CRegKey類讀寫注冊表。VB中調用API的辦法可以參考QA000226?"如何訪問Windows系統注冊表"。

????打開注冊鍵
????LONG?RegOpenKeyEx(?HKEY?hKey,??//?handle?to?open?key?

????LPCTSTR?lpSubKey,??????????????//?address?of?name?of?subkey?to?open?
????DWORD?ulOptions,???????????????//?reserved?=0
????REGSAM?samDesired,?????????????//?security?access?mask?
????PHKEY?phkResult????????????????//?address?of?handle?to?open?key?
????);

????例:
????HKEY?hd;
????hd=HKEY_LOCAL_MACHINE;
????char*?Regkeyname="SoftWare\\Xy123\\Poker\\";
????LONG?a=RegOpenKeyEx(hd,Regkeyname,0,KEY_READ,&hd);???//成功返回ERROR_SUCCESS,否則返回錯誤代碼
?

????關閉注冊鍵
????LONG?RegCloseKey(?HKEY?hKey?//?handle?to?key?to?close?);
例:
?????RegCloseKey(HKEY_LOCAL_MACHINE);
OR:??RegCloseKey(hd);?
建立注冊鍵
LONG?RegCreateKeyEx(?HKEY?hKey,?//?handle?to?an?open?key?
??????LPCTSTR?lpSubKey,?//?address?of?subkey?name?
??????DWORD?Reserved,?//?reserved?=0
??????LPTSTR?lpClass,?//?address?of?class?string?
??????DWORD?dwOptions,?//?special?options?flag?
??????REGSAM?samDesired,?//?desired?security?access?

??????LPSECURITY_ATTRIBUTES?lpSecurityAttributes,?//?address?of?key?security?????????structure?
??????PHKEY?phkResult,?//?address?of?buffer?for?opened?handle?
??????LPDWORD?lpdwDisposition?//?address?of?disposition?value?buffer?);
例:
???char?*sclass="";??//類名指定為空
???DWORD?nbf=0;????//接受返回值,指明是建立新鍵還是打開已有的鍵.(經試驗總是返回REG_OPENED_EXISTING_KEY.
???LONG?II=RegCreateKeyEx(hd,Regkeyname,0,sclass,REG_OPTION_NON_VOLATILE,
????????????????KEY_READ|KEY_WRITE,NULL,&hd,&nbf);

//REG_OPTION_NON_VOLATILE?指明鍵永久保留.安全結構指明NULL,自動獲得一默認值
//成功返回ERROR_SUCCESS,否則返回錯誤代碼?
枚舉鍵值
LONG?RegEnumValue(?HKEY?hKey,?//?handle?to?key?to?query?
??????DWORD?dwIndex,?//?index?of?value?to?query?
??????LPTSTR?lpValueName,?//?address?of?buffer?for?value?string?
??????LPDWORD?lpcbValueName,?//?address?for?size?of?value?buffer?
??????LPDWORD?lpReserved,?//?reserved?=NULL
??????LPDWORD?lpType,?//?address?of?buffer?for?type?code?

??????LPBYTE?lpData,?//?address?of?buffer?for?value?data?
??????LPDWORD?lpcbData?//?address?for?size?of?data?buffer);
例:
???DWORD?dinx=0;
???char?valuename[70];??//分配數值名稱緩沖區
???strcpy(valuename,"DeskPattern");??//隨便指定哪個鍵值名
???DWORD?nsize=69;??//數值名稱緩沖區大小
???DWORD?k=REG_SZ;??//指明數據類型
???unsigned?char?vari[70];?//分配數值緩沖區
???DWORD?ncbvari=69;?//數值緩沖區大小
???dinx=0;?//從0開始

???while((II=RegEnumValue(hd,dinx,valuename,&nsize,NULL,&k,vari,&ncbvari))?
??????????!=?ERROR_NO_MORE_ITEMS)
???{
???????dinx++;//索引?+1,準備取下一個值
???????nsize=69;?//恢復原來大小
???????ncbvari=69;
???}
成功后返回值0,各變量返回后設置如下:
valuename=數值名稱,以0結尾;如?:?DeskColor
nsize=數值名稱長度,?9
k=REG_SZ??DeskColor?的類型為?REG_SZ
vari=鍵值,32768?DeskColor="32768",
ncbvari=鍵值長度?REG_SZ包括結尾0,=6,?
讀取鍵值
LONG?RegQueryValueEx(?HKEY?hKey,?//?handle?to?key?to?query?

???????LPTSTR?lpValueName,?//?address?of?name?of?value?to?query?
???????LPDWORD?lpReserved,?//?reserved?
???????LPDWORD?lpType,?//?address?of?buffer?for?value?type?
???????LPBYTE?lpData,?//?address?of?data?buffer?
???????LPDWORD?lpcbData?//?address?of?data?buffer?size?);
例:
???RegQueryValueEx(hd,valuename,NULL,&k,vari,&ncbvari);
變量定義及成功后各變量設置值同RegEnumValueEx?
寫鍵值
LONG?RegSetValueEx(?HKEY?hKey,?//?handle?to?key?to?set?value?for?
???????LPCTSTR?lpValueName,?//?name?of?the?value?to?set?

???????DWORD?Reserved,?//?reserved?
???????DWORD?dwType,?//?flag?for?value?type?
???????CONST?BYTE?*lpData,?//?address?of?value?data?
???????DWORD?cbData?//?size?of?value?data?);
例:
???strcpy(valuename,"Hello");
???unsigned?char?vari[10];
???DWORD?k=REG_SZ;
???strcpy((char*)vari,"1234567")
???RegSetValueEx(hd,valuename,0,k,vari,7);
成功后在Poker下增加一個鍵值?Hello?:?REG_SZ?:?1234567
寫整型變量:
int?hi=8;
RegSetValueEx(pj,valuename,0,REG_BINARY,(unsigned?char*)&hi,sizeof(int));

成功后在Poker下增加一個鍵值?Hello2?:?REG_BINARY?:08?00?00?00



void?AddEventSource()
{
????HKEY?hk;?
????DWORD?dwData;?
????UCHAR?szBuf[80];?

????//?Add?your?source?name?as?a?subkey?under?the?Application?
????//?key?in?the?EventLog?registry?key.?

????if?(RegCreateKey(HKEY_LOCAL_MACHINE,?
????????????"SYSTEM\\CurrentControlSet\\Services\?
????????????\\EventLog\\Application\\SamplApp",?&hk))?
????????ErrorExit("Could?not?create?the?registry?key.");?

????//?Set?the?name?of?the?message?file.?

????strcpy(szBuf,?"%SystemRoot%\\System\\SamplApp.dll");?

????//?Add?the?name?to?the?EventMessageFile?subkey.?

????if?(RegSetValueEx(hk,?????????????//?subkey?handle?
????????????"EventMessageFile",???????//?value?name?
????????????0,????????????????????????//?must?be?zero?
????????????REG_EXPAND_SZ,????????????//?value?type?
????????????(LPBYTE)?szBuf,???????????//?pointer?to?value?data?
????????????strlen(szBuf)?+?1))???????//?length?of?value?data?

????????ErrorExit("Could?not?set?the?event?message?file.");?

????//?Set?the?supported?event?types?in?the?TypesSupported?subkey.?

????dwData?=?EVENTLOG_ERROR_TYPE?|?EVENTLOG_WARNING_TYPE?|?
????????EVENTLOG_INFORMATION_TYPE;?

????if?(RegSetValueEx(hk,??????//?subkey?handle?
????????????"TypesSupported",??//?value?name?
????????????0,?????????????????//?must?be?zero?
????????????REG_DWORD,?????????//?value?type?
????????????(LPBYTE)?&dwData,??//?pointer?to?value?data?

????????????sizeof(DWORD)))????//?length?of?value?data?
????????ErrorExit("Could?not?set?the?supported?types.");?

????RegCloseKey(hk);?
}?



以下代碼把注冊表自啟動shell的鍵值改寫為C:\DK1\ATM\HARP\ExAtmShell.exe:

?????????HKEY?hkey;
LONG?res;?
DWORD?datatype=REG_SZ;?
unsigned?char?szvalue[_MAX_PATH];
strcpy((char*)szvalue,"C:\\DK1\\ATM\\HARP\\ExAtmShell.exe");

res?=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,?
"SOFTWARE\\Microsoft\\Windows?NT\\CurrentVersion\\Winlogon\\",?0,?
KEY_WRITE|KEY_READ,?&hkey);?

if(res!=ERROR_SUCCESS)
{
AfxMessageBox("aaa");
return;
}
res?=?::RegSetValueEx(hkey,?"Shell",?0,?datatype,?szvalue,?strlen(LPCSTR(szvalue)));?

RegCloseKey(hkey);
if(res==ERROR_SUCCESS)
::AfxMessageBox("你已經成功地將注冊表自啟動shell的鍵值設置為C:\\DK1\\ATM\\HARP\\ExAtmShell.exe");
else
::AfxMessageBox("設定失敗:目標位置不存在這樣的鍵!");


from:http://www.czvc.com/view.asp?id=15
posted on 2007-01-25 22:21 我風 閱讀(1102) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

C++

MyFavorite

搜索

  •  

積分與排名

  • 積分 - 328999
  • 排名 - 75

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲电影av在线| 国产视频一区在线观看| 一本色道久久综合狠狠躁篇怎么玩 | 欧美日韩免费精品| 欧美日韩亚洲91| 国产精品女同互慰在线看| 国产精品国产自产拍高清av王其| 国产精品美女久久久久av超清| 国产日韩欧美精品| 国产在线精品二区| 亚洲另类在线一区| 欧美一级网站| 欧美成人精品不卡视频在线观看| 91久久综合亚洲鲁鲁五月天| 一区二区三区黄色| 久久精品二区| 欧美日本三级| 国产在线乱码一区二区三区| 亚洲精品社区| 久久不射电影网| 亚洲激情网站免费观看| 亚洲自拍高清| 欧美成人国产va精品日本一级| 国产精品第一区| 在线日韩视频| 欧美伊久线香蕉线新在线| 亚洲高清免费视频| 欧美在线视频免费播放| 欧美午夜宅男影院在线观看| 亚洲国产精品专区久久| 欧美一区在线视频| 99国产精品99久久久久久粉嫩| 久久国产福利| 国产精品日韩精品| 亚洲六月丁香色婷婷综合久久| 久久综合999| 亚洲午夜久久久久久久久电影网| 嫩草国产精品入口| 黄网动漫久久久| 欧美在线免费观看视频| 亚洲婷婷免费| 亚洲精品久久| 一区二区高清在线| 免费中文字幕日韩欧美| 亚洲欧美成人精品| 国产精品爱久久久久久久| 日韩视频一区二区三区在线播放免费观看 | 免费久久99精品国产自| 国产欧美一区二区三区国产幕精品| 亚洲精品在线免费| 免费欧美高清视频| 欧美专区日韩视频| 国产精品专区第二| 亚洲欧美一区二区精品久久久| 最新国产の精品合集bt伙计| 模特精品在线| 亚洲欧洲日本专区| 亚洲高清不卡| 欧美啪啪一区| 亚洲天堂av综合网| 亚洲午夜激情在线| 国产精品视频99| 久久精品五月| 久久精品国产亚洲高清剧情介绍| 国产亚洲欧洲| 美女精品国产| 欧美精品www在线观看| aa日韩免费精品视频一| 日韩午夜av电影| 国产精品久久二区| 欧美影院在线| 久久久久久免费| 亚洲激情校园春色| 亚洲精选在线| 国产精品免费视频观看| 欧美在线播放| 久久久久久有精品国产| 亚洲精品综合久久中文字幕| 亚洲精品视频一区二区三区| 欧美午夜精品久久久| 亚洲欧美日韩电影| 久久不射2019中文字幕| 亚洲国产精品v| 日韩视频精品在线| 国产色综合久久| 亚洲国产1区| 国产精品久久久久久久午夜片 | 性做久久久久久久免费看| 午夜国产精品视频免费体验区| 一区在线播放| 99国产精品私拍| 国模叶桐国产精品一区| 亚洲国产精品免费| 国产精品三级视频| 国产主播一区二区| 亚洲精品久久久久中文字幕欢迎你| 亚洲三级电影在线观看| 国产伦精品一区二区三区在线观看 | 亚洲精品一区在线观看香蕉| 亚洲小视频在线观看| 精品成人国产| 亚洲性线免费观看视频成熟| 亚洲激情亚洲| 久久精品主播| 亚洲午夜性刺激影院| 久久婷婷蜜乳一本欲蜜臀| 亚洲一区成人| 你懂的亚洲视频| 久久乐国产精品| 国产精品美女久久久久aⅴ国产馆| 欧美成人一区在线| 国产在线成人| 亚洲综合第一| 一区二区精品国产| 老牛国产精品一区的观看方式| 先锋影音国产一区| 欧美日韩1区2区3区| 欧美成人蜜桃| 在线成人激情黄色| 午夜欧美大片免费观看| 亚洲永久视频| 欧美日本亚洲韩国国产| 欧美激情视频一区二区三区免费 | 亚洲调教视频在线观看| 免费一级欧美在线大片| 美女性感视频久久久| 国产亚洲一区二区三区在线观看 | 亚洲美女电影在线| 亚洲国产日本| 久热综合在线亚洲精品| 久久影音先锋| 韩国av一区二区三区| 亚洲欧美日韩精品久久| 亚洲欧美日韩在线一区| 国产精品久久久一区麻豆最新章节 | 国产精品一区久久久| 亚洲亚洲精品三区日韩精品在线视频 | 国产乱码精品一区二区三区忘忧草| 亚洲毛片一区| 亚洲永久免费精品| 国产精品欧美精品| 曰本成人黄色| 亚洲国产成人在线视频| 亚洲高清视频在线| 久久影音先锋| 欧美激情中文字幕乱码免费| 91久久午夜| 欧美精品日韩三级| 99精品免费| 西西人体一区二区| 黑人操亚洲美女惩罚| 久久综合色天天久久综合图片| 欧美激情久久久久| 亚洲一区二区三区免费在线观看 | 欧美成人一区二区三区在线观看| 欧美激情亚洲综合一区| 日韩视频在线一区二区三区| 欧美日韩中文字幕精品| 亚洲欧美日产图| 欧美福利小视频| 亚洲一二三区精品| 黑人一区二区| 欧美日本乱大交xxxxx| 亚洲在线观看视频| 欧美二区在线播放| 亚洲在线第一页| 在线看不卡av| 国产精品久久99| 欧美3dxxxxhd| 亚洲欧美激情在线视频| 美日韩丰满少妇在线观看| 亚洲麻豆一区| 国产性做久久久久久| 欧美高清在线视频| 亚洲欧美一区二区原创| 欧美丰满高潮xxxx喷水动漫| 狠狠综合久久av一区二区小说| 欧美高清视频在线观看| 亚洲欧美日本日韩| 欧美国产日韩一区二区三区| 亚洲欧美网站| 日韩一区二区精品在线观看| 国产精品手机在线| 你懂的一区二区| 欧美亚洲视频在线看网址| 亚洲精品美女久久久久| 麻豆精品视频| 亚洲免费一级电影| 亚洲乱码日产精品bd| 狠狠色综合播放一区二区| 欧美欧美全黄| 美日韩精品视频免费看| 欧美在线视频免费观看| 亚洲制服少妇| 亚洲精品一区在线观看| 亚洲国产成人久久| 麻豆精品在线观看| 久久久免费精品视频| 午夜欧美精品| 先锋资源久久|