to raptor(猛禽) getsystemdir 得到系统路径 得到公用路径用??? CommonFilesDir
function tform1.getsystemdir:string; var sysdir:pchar; size:dword; begin size:=MAX_PATH+1; result:=''; getmem(sysdir,size); try if getsystemdirectory(sysdir,size)<>0 then result:=sysdir; finally freemem(sysdir); end; end;
CommonFilesDir键值
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
getsystemdir 得到系统路径
得到公用路径用??? CommonFilesDir
var
sysdir:pchar;
size:dword;
begin
size:=MAX_PATH+1;
result:='';
getmem(sysdir,size);
try
if getsystemdirectory(sysdir,size)<>0 then
result:=sysdir;
finally
freemem(sysdir);
end;
end;
szPath: array[0..MAX_PATH] of Char; // 结果SHGetSpecialFolderPath( Handle, szPath, CSIDL_PROGRAM_FILES_COMMON, False );CSIDL_PROGRAM_FILES_COMMON = $002b
不过仅用在win2000以上。
lpDest :PChar ;
begin
lpDest := StrAlloc(101) ;
ExpandEnvironmentStrings('%CommonProgramFiles%' ,lpDest ,100) ;
//lpDest即为公用路径
end ;
写注册表里得键值:系统公用路径\..\..
怎么写,谢谢
...
Function GetCommonDir : String;
Var
reg : TRegistry;
Begin
reg := TRegistry.Create;
Try
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey( 'software\microsoft\windows\current version' );
Result := reg.ReadString( 'CommonFilesDir' );
Finally
reg.Free;
End;
End;