怎样使用TRegistry/TRegIniFile来对注册表的值进行枚举 |
尚未結案
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
大大们,小弟的问题又来了,请在思想上点拨我吧!
在 class="code">
头文件中:
#include
------
人生在勤,不索何获? |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
要列舉出所有的鍵名, 可以使用 GetKeyNames , 要列舉所有的值名, 可以使用 GetValueNames, 試試看:
void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString sCurrentPath,sCurrentKey,sValue; sCurrentPath = "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; TRegistry *Reg = new TRegistry; TStringList *str = new TStringList; try { Reg->RootKey = HKEY_LOCAL_MACHINE; if(Reg->OpenKey(sCurrentPath,true)) { Reg->GetKeyNames(str); ShowMessage(str->Text); Reg->GetValueNames(str); ShowMessage(str->Text); } } __finally { Reg->CloseKey(); delete Reg; delete str; } CheckListBox1->Items->Add(sValue); }至於 REG_EXPAND_SZ 直接使用 WriteExpandString 取代 WriteString 即可!! WriteExpandString 的型態即是 REG_EXPAND_SZ 發表人 - timhuang 於 2003/06/29 21:42:46 |
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
真是感谢timhuang大哥的指点,想不到我要找的WriteExpandString()就在我的眼面前,从这点上就知道我应该加强VCL的基本功,谢谢,现改一下代码,我还有问题:
void __fastcall TForm1::Button1Click(TObject *Sender) { TStringList *str = new TStringList; AnsiString sCurrentPath; sCurrentPath= "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; TRegistry *Reg1 = new TRegistry; try { Reg1->RootKey = HKEY_LOCAL_MACHINE; if(Reg1->OpenKey(sCurrentPath,true)) { Reg1->GetValueNames(str); } } __finally { Reg1->CloseKey(); delete Reg1; } CheckListBox1->Items->AddStrings(str); str->Clear(); //清空 TRegistry *Reg2 = new TRegistry; try { Reg2->RootKey = HKEY_CURRENT_USER; if(Reg2->OpenKey(sCurrentPath,true)) { Reg2->GetValueNames(str); } } __finally { Reg2->CloseKey(); delete Reg2; } CheckListBox1->Items->AddStrings(str); delete str; }这样我就把开机自动运行的程序读出来了,可是还有一个啊,在C:\Documents and Settings\Administrator\「开始」菜单\程序\启动 里的lnk文件该怎样读呢?读出来后又怎么样存入CheckListBox呢?对于TString是不能直接用的,要使用它的派生类,但是我理解的还不是很深刻,请大大指点. 最后一个问题: 对于CheckListBox除了在前面有复选框以外,是否还可以显示略 索图,因为我看见超级兔子可以在CheckListBox前面放置略索图(它是用VB做的) 再一次感谢timhuang大哥的帮助 人生在勤,不索何获?
------
人生在勤,不索何获? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |