diff options
Diffstat (limited to 'plugins/ShlExt/shlc.inc')
-rw-r--r-- | plugins/ShlExt/shlc.inc | 315 |
1 files changed, 149 insertions, 166 deletions
diff --git a/plugins/ShlExt/shlc.inc b/plugins/ShlExt/shlc.inc index 122e0fee14..e1b76607f4 100644 --- a/plugins/ShlExt/shlc.inc +++ b/plugins/ShlExt/shlc.inc @@ -1,168 +1,151 @@ {$IFDEF SHL_IDC} -const - IDD_SHLOPTS = 101; - IDC_USEGROUPS = 1014; - IDC_CLISTGROUPS = 1015; -// Show "HIT" - IDC_SHOWFULL = 1016; - IDC_NOPROF = 1020; - IDC_SHOWINVISIBLES = 1021; - IDC_HIDEOFFLINE = 1022; -// only in the options dialog - IDC_STATUS = 1023; - IDC_CAPMENUS = 1025; - IDC_CAPSTATUS = 1026; - IDC_CAPSHLSTATUS = 1027; - IDC_REMOVE = 1028; - IDC_USEOWNERDRAW = 1029; -{$ENDIF} -{$IFDEF SHL_KEYS} -const - SHLExt_Name: PChar = 'shlext15';
- SHLExt_MRU: PChar = 'MRU'; - SHLExt_UseGroups: PChar = 'UseGroups'; - SHLExt_UseCListSetting:PChar = 'UseCLGroups'; - SHLExt_UseHITContacts:PChar = 'UseHITContacts'; -// HIT2 contacts will get your messages but don't know your state - SHLExt_UseHIT2Contacts: PChar = 'UseHIT2Contacts'; - SHLExt_ShowNoProfile:PChar = 'ShowNoProfile'; - SHLExt_ShowNoIcons:PChar = 'ShowNoIcons'; - SHLExt_ShowNoOffline:PChar = 'ShowNoOffline'; -{$ENDIF} -{$IFDEF SHLCOM} -const - - S_OK = 0; - S_FALSE = 1; - - E_UNEXPECTED = $8000FFFF; - E_NOTIMPL = $80004001; - E_INVALIDARG = $80070057; - - CLASS_E_NOAGGREGATION = $80040110; - CLASS_E_CLASSNOTAVAILABLE = $80040111; - - CLSCTX_INPROC_SERVER = $1; - - { for FORMATETC } - - TYMED_HGLOBAL = 1; - DVASPECT_CONTENT = 1; - -type - - PGUID = ^TGUID; - TGUID = record - D1: Longint; - D2: Word; - D3: Word; - D4: array[0..7] of Byte; - end; - - TIID = TGUID; - TCLSID = TGUID; - - TStgMedium = record - tymed: Longint; - case Integer of - 0: (hBitmap: HBitmap; unkForRelease: Pointer{IUnknown}); - 1: (hMetaFilePict: THandle); - 2: (hEnhMetaFile: THandle); - 3: (hGlobal: HGlobal); - 4: (lpszFileName: Pointer{POleStr}); - 5: (stm: Pointer{IUnknown}); - 6: (stg: Pointer{IStorage}); - end; - - PFormatEtc = ^TFormatEtc; - TFormatEtc = record - cfFormat: Word; {TClipFormat;} - ptd: Pointer; {PDVTargetDevice;} - dwAspect: Longint; - lindex: Longint; - tymed: Longint; - end; - -{$ENDIF} -{$IFDEF COM_STRUCTS} -const - - IID_IUnknown : TGUID = ( - D1:$00000000; - D2:$0000; - D3:$0000; - D4:($C0,$00,$00,$00,$00,$00,$00,$46) - ); - - IID_IClassFactory : TGUID = ( - D1:$00000001; - D2:$0000; - D3:$0000; - D4:($C0,$00,$00,$00,$00,$00,$00,$46) - ); - - IID_IShellExtInit : TGUID = ( - D1:$000214E8; - D2:$0000; - D3:$0000; - D4:($C0,$00,$00,$00,$00,$00,$00,$46) - ); - - IID_IContextMenu : TGUID = ( - D1:$000214E4; - D2:$0000; - D3:$0000; - D4:($C0,$00,$00,$00,$00,$00,$00,$46) - ); - - IID_IContextMenu2 : TGUID = ( - D1:$000214F4; - D2:$0000; - D3:$0000; - D4:($C0,$00,$00,$00,$00,$00,$00,$46) - ); - - IID_IContextMenu3 : TGUID = ( - D1:$BCFCE0A0; - D2:$EC17; - D3:$11D0; - D4:($8D,$10,$00,$A0,$C9,$0F,$27,$19) - ); - - IID_WICImagingFactory: TGUID = ( - D1:$EC5EC8A9; - D2:$C395; - D3:$4314; - D4:($9C,$77,$54,$D7,$A9,$35,$FF,$70) - ); - - - // Vista+ only - - CLSID_WICImagingFactory : TGUID = ( - D1:$cacaf262; - D2:$9370; - D3:$4615; - D4:($A1,$3B,$9F,$55,$39,$DA,$4C,$0A) - ); - - // anything before 0.0.1.5 was : {A321A032-7976-11d6-A310-ED893982BF28} - // changed to a new GUID to avoid older plugins - // {72013A26-A94C-11d6-8540-A5E62932711D} - // the IPC header now checks the plugin version given anyway. - - CLSID_ISHLCOM : TGUID = ( - D1: $72013a26; - D2: $a94c; - D3: $11d6; - D4: ($85,$40,$a5,$e6,$29,$32,$71,$1d); - ); -{$ENDIF} -{$IFDEF COMAPI} - function CoCreateInstance(const rclsid: TCLSID; pUnkOuter: Pointer; dwClsContext: DWORD; const riid: TIID; var ppv): HResult; stdcall; external 'ole32.dll' name 'CoCreateInstance'; - procedure ReleaseStgMedium(var medium: TStgMedium); stdcall; external 'ole32.dll' name 'ReleaseStgMedium'; - function IsEqualGUID(const guid1, guid2: TGUID): Boolean; stdcall; external 'ole32.dll' name 'IsEqualGUID'; - function IsEqualIID(const iid1, iid2: TIID): Boolean; stdcall; external 'ole32.dll' name 'IsEqualGUID'; - function IsEqualCLSID(const clsid1, clsid2: TCLSID): Boolean; stdcall; external 'ole32.dll' name 'IsEqualGUID'; - function QueueUserAPC(pfnAPC: Pointer; hThread: THandle; dwData: DWORD): BOOL; stdcall; external 'kernel32' name 'QueueUserAPC'; +
+const
+ IDD_SHLOPTS = 101;
+ IDC_USEGROUPS = 1014;
+ IDC_CLISTGROUPS = 1015;
+ // Show "HIT"
+ IDC_SHOWFULL = 1016;
+ IDC_NOPROF = 1020;
+ IDC_SHOWINVISIBLES = 1021;
+ IDC_HIDEOFFLINE = 1022;
+ // only in the options dialog
+ IDC_STATUS = 1023;
+ IDC_CAPMENUS = 1025;
+ IDC_CAPSTATUS = 1026;
+ IDC_CAPSHLSTATUS = 1027;
+ IDC_REMOVE = 1028;
+ IDC_USEOWNERDRAW = 1029;
+{$ENDIF}
+{$IFDEF SHL_KEYS}
+
+const
+ SHLExt_Name: PChar = 'shlext15';
+ SHLExt_MRU: PChar = 'MRU';
+ SHLExt_UseGroups: PChar = 'UseGroups';
+ SHLExt_UseCListSetting: PChar = 'UseCLGroups';
+ SHLExt_UseHITContacts: PChar = 'UseHITContacts';
+ // HIT2 contacts will get your messages but don't know your state
+ SHLExt_UseHIT2Contacts: PChar = 'UseHIT2Contacts';
+ SHLExt_ShowNoProfile: PChar = 'ShowNoProfile';
+ SHLExt_ShowNoIcons: PChar = 'ShowNoIcons';
+ SHLExt_ShowNoOffline: PChar = 'ShowNoOffline';
+{$ENDIF}
+{$IFDEF SHLCOM}
+
+const
+
+ S_OK = 0;
+ S_FALSE = 1;
+
+ E_UNEXPECTED = $8000FFFF;
+ E_NOTIMPL = $80004001;
+ E_INVALIDARG = $80070057;
+
+ CLASS_E_NOAGGREGATION = $80040110;
+ CLASS_E_CLASSNOTAVAILABLE = $80040111;
+
+ CLSCTX_INPROC_SERVER = $1;
+
+ { for FORMATETC }
+
+ TYMED_HGLOBAL = 1;
+ DVASPECT_CONTENT = 1;
+
+type
+
+ PGUID = ^TGUID;
+
+ TGUID = record
+ D1: Longint;
+ D2: Word;
+ D3: Word;
+ D4: array [0 .. 7] of Byte;
+ end;
+
+ TIID = TGUID;
+ TCLSID = TGUID;
+
+ TStgMedium = record
+ tymed: Longint;
+ case Integer of
+ 0:
+ (hBitmap: hBitmap; unkForRelease: Pointer { IUnknown } );
+ 1:
+ (hMetaFilePict: THandle);
+ 2:
+ (hEnhMetaFile: THandle);
+ 3:
+ (hGlobal: hGlobal);
+ 4:
+ (lpszFileName: Pointer { POleStr } );
+ 5:
+ (stm: Pointer { IUnknown } );
+ 6:
+ (stg: Pointer { IStorage } );
+ end;
+
+ PFormatEtc = ^TFormatEtc;
+
+ TFormatEtc = record
+ cfFormat: Word; { TClipFormat; }
+ ptd: Pointer; { PDVTargetDevice; }
+ dwAspect: Longint;
+ lindex: Longint;
+ tymed: Longint;
+ end;
+
+{$ENDIF}
+{$IFDEF COM_STRUCTS}
+
+const
+
+ IID_IUnknown: TGUID = (D1: $00000000; D2: $0000; D3: $0000;
+ D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
+
+ IID_IClassFactory: TGUID = (D1: $00000001; D2: $0000; D3: $0000;
+ D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
+
+ IID_IShellExtInit: TGUID = (D1: $000214E8; D2: $0000; D3: $0000;
+ D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
+
+ IID_IContextMenu: TGUID = (D1: $000214E4; D2: $0000; D3: $0000;
+ D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
+
+ IID_IContextMenu2: TGUID = (D1: $000214F4; D2: $0000; D3: $0000;
+ D4: ($C0, $00, $00, $00, $00, $00, $00, $46));
+
+ IID_IContextMenu3: TGUID = (D1: $BCFCE0A0; D2: $EC17; D3: $11D0;
+ D4: ($8D, $10, $00, $A0, $C9, $0F, $27, $19));
+
+ IID_WICImagingFactory: TGUID = (D1: $EC5EC8A9; D2: $C395; D3: $4314;
+ D4: ($9C, $77, $54, $D7, $A9, $35, $FF, $70));
+
+
+ // Vista+ only
+
+ CLSID_WICImagingFactory: TGUID = (D1: $CACAF262; D2: $9370; D3: $4615;
+ D4: ($A1, $3B, $9F, $55, $39, $DA, $4C, $0A));
+
+ // anything before 0.0.1.5 was : {A321A032-7976-11d6-A310-ED893982BF28}
+ // changed to a new GUID to avoid older plugins
+ // {72013A26-A94C-11d6-8540-A5E62932711D}
+ // the IPC header now checks the plugin version given anyway.
+
+ CLSID_ISHLCOM: TGUID = (D1: $72013A26; D2: $A94C; D3: $11D6;
+ D4: ($85, $40, $A5, $E6, $29, $32, $71, $1D););
+{$ENDIF}
+{$IFDEF COMAPI}
+function CoCreateInstance(const rclsid: TCLSID; pUnkOuter: Pointer; dwClsContext: DWORD;
+ const riid: TIID; var ppv): HResult; stdcall; external 'ole32.dll' name 'CoCreateInstance';
+procedure ReleaseStgMedium(var medium: TStgMedium); stdcall;
+ external 'ole32.dll' name 'ReleaseStgMedium';
+function IsEqualGUID(const guid1, guid2: TGUID): Boolean; stdcall;
+ external 'ole32.dll' name 'IsEqualGUID';
+function IsEqualIID(const iid1, iid2: TIID): Boolean; stdcall;
+ external 'ole32.dll' name 'IsEqualGUID';
+function IsEqualCLSID(const clsid1, clsid2: TCLSID): Boolean; stdcall;
+ external 'ole32.dll' name 'IsEqualGUID';
+function QueueUserAPC(pfnAPC: Pointer; hThread: THandle; dwData: DWORD): BOOL; stdcall;
+ external 'kernel32' name 'QueueUserAPC';
{$ENDIF} |