Вызвать стандартное окно свойств для файла, диска или папки

uses 
    Winapi.ShellAPI;
 
/// <summary>Показывает стандартное окно свойств для файла папки или диска.
/// </summary>
/// <param name="Handle">Хэндл родительского окна.</param>
/// <param name="FileName">Имя файла.</param>
/// <returns>True если вызов успешен.</returns>
/// <remarks>
/// В случае неудачи причину можно помотреть в GetLastError или воспользоваться
///  Win32Check
/// </remarks>
function ShowFilePropertiesDialog(Handle: HWND; const FileName: string): Boolean;
var
  Info: TShellExecuteInfo;
begin
  // Заполняем структуру SHELLEXECUTEINFO
  with Info do
  begin
    cbSize := SizeOf(Info);
    fMask := SEE_MASK_NOCLOSEPROCESS or
      SEE_MASK_INVOKEIDLIST or
      SEE_MASK_FLAG_NO_UI;
    Wnd := Handle;
    lpVerb := 'properties';
    lpFile := PChar(FileName);
    lpParameters := nil;
    lpDirectory := nil;
    nShow := 0;
    hInstApp := 0;
    lpIDList := nil;
  end;
  // Вызываем окно свойств
  Result := ShellExecuteEx(@Info);
end;

 
Метки: