function GetFileDefaultOpenShell(FileExtKey: string): integer;
var
RegEdit: TRegistry;
begin
Result := -1;
RegEdit := TRegistry.Create;
try
RegEdit.RootKey := HKEY_CLASSES_ROOT;
if RegEdit.KeyExists(FileExtKey) then
begin
//取得文件类型
try
RegEdit.OpenKey(FileExtKey, false);
FileExtKey := RegEdit.ReadString('');
RegEdit.CloseKey;
if RegEdit.KeyExists(Format('%S/shell/edit/command', [FileExtKey])) then
Result := 0
else
if RegEdit.KeyExists(Format('%S/shell/open/command', [FileExtKey])) then
Result := 1;
except
Result := -1;
end;
end;
finally
RegEdit.CloseKey;
if Assigned(RegEdit) then RegEdit.Free;
end;
end;