Mega Code Archive

 
Categories / Delphi / Forms
 

Display the Organize Favorite dialog box

Title: display the 'Organize Favorite' dialog box? uses SHDocVw, ShlObj, ShellApi; {....} function OrganizeFavorite(h: THandle; path: PChar): Boolean; stdcall external 'shdocvw.dll' Name 'DoOrganizeFavDlg'; {....} function GetSpecialFolderPath(CallerHandle: THandle; CSIDL: Integer): PChar; var exInfo: TShellExecuteInfo; Buf: PChar; begin // initialize all fields to 0 FillChar(exInfo, SizeOf(exInfo), 0); with exInfo do begin cbSize := SizeOf(exInfo); fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST; Wnd := CallerHandle; nShow := SW_SHOWNORMAL; Buf := StrAlloc(MAX_PATH); SHGetSpecialFolderPath(wnd, Buf, CSIDL, True); Result := Buf; end; end; procedure TForm1.Button1Click(Sender: TObject); begin OrganizeFavorite(Handle, GetSpecialFolderPath(Handle, CSIDL_FAVORITES)); end;