Delphi Tips&Tricks News   Tips   .NET Software   VCL Software   Search   Contacts
Ultimate Pack - special offer!

Ultimate Pack  hot!
Image Editor  new!
Runtime Fusion
Form Designer
Object Inspector
Print Suite Pro
Commented Image
Delphi Toys
WinDowse
Delphi Bonus
TMS Scripter Studio
Form Designer VB
Form Designer .NET

...get more...
for Delphi.NET, C#, VB.NET
for Delphi VCL, BCB 3-6

WinAPI Online
Unix Manual Pages
MegaDetailed.NET
in3steps.com
cdtrrracks.com new!

Blogspot  greatis.blogspot.com

Show special folders - System - Tips & Tricks - Greatis Delphi Pages

Use SHGetSpecialFolderLocation for getting identifier of special folder. After that, you must fill components of ShellExecuteInfo structure where one of the parameters is the identifier of special folder.
Folder variable contains a constant, which shows special folder.
For example:
CSIDL_DRIVES - My Computer
SIDL_CONTROLS - Control Panel
CSIDL_DESKTOP - Desctop
CSIDL_BITBUCKET - Recycle Bin


uses
  ShlObj, ShellAPI;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  MyItemIDList: PItemIDList;
  MyShellEx: TShellExecuteInfo;
  Folder: Integer;
begin
  Folder:=CSIDL_DRIVES;
  SHGetSpecialFolderLocation(Form1.Handle, Folder, MyItemIDList);
  with MyShellEx do
  begin
    cbSize:=Sizeof(MyShellEx);
    fMask:=SEE_MASK_IDLIST;
    Wnd:=Handle;
    lpVerb:=nil;
    lpFile:=nil;
    lpParameters:=nil;
    lpDirectory:=nil;
    nShow:=SW_SHOWNORMAL;
    hInstApp:=0;
    lpIDList:=MyItemIDList;
  end;
  ShellExecuteEx(@MyShellEx);
end;
For more
Win32 programmer's reference

Download source