. . . try with TRegistry.Create.Do try rootkey:=HKEY_CLASSES_ROOT; if Not OpenKey('\',False) then Exitl GetKeyNames(KeyNames); with keyNames do for i:=1 to count-1 do begin closekey;if openkey(strings[i],False) then begin if keyexists('InserTable') then begin OLEType:=readstring(''); closekey; if openkey('CLSID'+CLSID,Flase) then begin OLEObjectNames.Add(OLEType); if OpenKey('ProgID',False) then ProgIds,Add(Readstring('') else ProgIds.Add('[No ProgID]'); end; end; end; end; finally Free; end; finally KeyNames.Free; . . .打了这么多,应该多给点分吧!------------》我是一个新手! 上面这段代码没有调试,这写出了比较关键的一部分,其它的还靠你自己!
例如:HKEY_CLASSES_ROOT\CLSID\{00000618-0000-0010-8000-00AA006D2EA4}\ProgID的值为“Word.Document.8”这就是一个Word。我是一个新手!
.
.
try
with TRegistry.Create.Do
try
rootkey:=HKEY_CLASSES_ROOT;
if Not OpenKey('\',False) then Exitl
GetKeyNames(KeyNames);
with keyNames do
for i:=1 to count-1 do
begin
closekey;if openkey(strings[i],False) then
begin
if keyexists('InserTable') then
begin
OLEType:=readstring('');
closekey;
if openkey('CLSID'+CLSID,Flase) then
begin
OLEObjectNames.Add(OLEType);
if OpenKey('ProgID',False) then
ProgIds,Add(Readstring('')
else
ProgIds.Add('[No ProgID]');
end;
end;
end;
end;
finally
Free;
end;
finally
KeyNames.Free;
.
.
.打了这么多,应该多给点分吧!------------》我是一个新手!
上面这段代码没有调试,这写出了比较关键的一部分,其它的还靠你自己!