Subversion Repositories delphiutils

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. unit ShellStateUnit;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows;
  7.  
  8. type
  9.   SHELLSTATE = record
  10.     Flags1: DWORD;
  11. (*
  12.     BOOL fShowAllObjects : 1;
  13.     BOOL fShowExtensions : 1;
  14.     BOOL fNoConfirmRecycle : 1;
  15.  
  16.     BOOL fShowSysFiles : 1;
  17.     BOOL fShowCompColor : 1;
  18.     BOOL fDoubleClickInWebView : 1;
  19.     BOOL fDesktopHTML : 1;
  20.     BOOL fWin95Classic : 1;
  21.     BOOL fDontPrettyPath : 1;
  22.     BOOL fShowAttribCol : 1; // No longer used, dead bit
  23.     BOOL fMapNetDrvBtn : 1;
  24.     BOOL fShowInfoTip : 1;
  25.     BOOL fHideIcons : 1;
  26.     BOOL fWebView : 1;
  27.     BOOL fFilter : 1;
  28.     BOOL fShowSuperHidden : 1;
  29.     BOOL fNoNetCrawling : 1;
  30. *)
  31.     dwWin95Unused: DWORD; // Win95 only - no longer supported pszHiddenFileExts
  32.     uWin95Unused: UINT; // Win95 only - no longer supported cbHiddenFileExts
  33.  
  34.     // Note: Not a typo!  This is a persisted structure so we cannot use LPARAM
  35.     lParamSort: Integer;
  36.     iSortDirection: Integer;
  37.  
  38.     version: UINT;
  39.  
  40.     // new for win2k. need notUsed var to calc the right size of ie4 struct
  41.     // FIELD_OFFSET does not work on bit fields
  42.     uNotUsed: UINT; // feel free to rename and use
  43.     Flags2: DWORD;
  44. (*
  45.     BOOL fSepProcess: 1;
  46.     // new for Whistler.
  47.     BOOL fStartPanelOn: 1;       //Indicates if the Whistler StartPanel mode is ON or OFF.
  48.     BOOL fShowStartPage: 1;      //Indicates if the Whistler StartPage on desktop is ON or OFF.
  49.     UINT fSpareFlags : 13;
  50. *)
  51.   end;
  52.   LPSHELLSTATE = ^SHELLSTATE;
  53.  
  54. const
  55.   SSF_SHOWALLOBJECTS  = $00000001;
  56.   SSF_SHOWEXTENSIONS  = $00000002;
  57.   SSF_HIDDENFILEEXTS  = $00000004;
  58.   SSF_SERVERADMINUI   = $00000004;
  59.   SSF_SHOWCOMPCOLOR   = $00000008;
  60.   SSF_SORTCOLUMNS     = $00000010;
  61.   SSF_SHOWSYSFILES    = $00000020;
  62.   SSF_DOUBLECLICKINWEBVIEW = $00000080;
  63.   SSF_SHOWATTRIBCOL   = $00000100;
  64.   SSF_DESKTOPHTML     = $00000200;
  65.   SSF_WIN95CLASSIC    = $00000400;
  66.   SSF_DONTPRETTYPATH  = $00000800;
  67.   SSF_SHOWINFOTIP     = $00002000;
  68.   SSF_MAPNETDRVBUTTON = $00001000;
  69.   SSF_NOCONFIRMRECYCLE = $00008000;
  70.   SSF_HIDEICONS       = $00004000;
  71.   SSF_FILTER          = $00010000;
  72.   SSF_WEBVIEW         = $00020000;
  73.   SSF_SHOWSUPERHIDDEN = $00040000;
  74.   SSF_SEPPROCESS      = $00080000;
  75.   SSF_NONETCRAWLING   = $00100000;
  76.   SSF_STARTPANELON    = $00200000;
  77.   SSF_SHOWSTARTPAGE   = $00400000;
  78.  
  79. procedure SHGetSetSettings(var lpss: SHELLSTATE; dwMask: DWORD; bSet: BOOL) stdcall;
  80.  
  81. implementation
  82.  
  83. const
  84.   {$IFDEF MSWINDOWS}
  85.     shell32  = 'shell32.dll';
  86.     advapi32 = 'advapi32.dll';
  87.   {$ENDIF}
  88.   {$IFDEF LINUX}
  89.     shell32  = 'libshell32.borland.so';
  90.     advapi32 = 'libwine.borland.so';
  91.   {$ENDIF}
  92.  
  93. procedure SHGetSetSettings(var lpss: SHELLSTATE; dwMask: DWORD; bSet: BOOL) stdcall;
  94.   external shell32;
  95.  
  96. end.
  97.