[
uuid(a8ce1d71-bfd6-4b55-990a-be75aeb926b8),
helpstring("Taskbar
API for VisualBasic (Windows 10)"),
version(1.0)
]
library TaskbarAPI
{
typedef struct UUID
{
long Data1;
short Data2;
short Data3;
unsigned char Data4[8];
} UUID;
typedef UUID *REFGUID;
typedef [public] UUID IID;
typedef UUID *REFIID;
typedef [public] UUID
CLSID;
typedef UUID *REFCLSID;
typedef [public] UUID
GUID;
typedef struct RECT
{
long Left;
long Top;
long Right;
long Bottom;
} RECT;
typedef struct FILETIME
{
long LowDateTime;
long HighDateTime;
} FILETIME;
typedef struct WIN32_FIND_DATAW
{
long FileAttributes;
FILETIME CreationTime;
FILETIME LastAccessTime;
FILETIME LastWriteTime;
long FileSizeHigh;
long FileSizeLow;
long Reserved0;
long Reserved1;
unsigned char FileName[520];
unsigned char AlternateFileName[28];
} WIN32_FIND_DATAW;
typedef struct PROPERTYKEY
{
UUID fmtid;
long pid;
} PROPERTYKEY;
typedef struct PROPVARIANT
{
short vt;
short wReserved1;
short wReserved2;
short wReserved3;
long val;
} PROPVARIANT;
typedef enum SLGPConstants
{
SLGP_SHORTPATH = 0x1,
SLGP_UNCPRIORITY = 0x2,
SLGP_RAWPATH = 0x4,
SLGP_RELATIVEPRIORITY = 0x8
} SLGPConstants;
typedef enum SLRConstants
{
SLR_NO_UI = 0x0001,
SLR_UPDATE = 0x0004,
SLR_NOUPDATE = 0x0008,
SLR_NOSEARCH = 0x0010,
SLR_NOTRACK = 0x0020,
SLR_NOLINKINFO = 0x0040,
SLR_INVOKE_MSI = 0x0080,
SLR_NO_UI_WITH_MSG_PUMP = 0x0101,
} SLRConstants;
typedef enum KNOWNDESTCATEGORYConstants
{
KDC_FREQUENT = 0x1,
KDC_RECENT = 0x2
} KNOWNDESTCATEGORYConstants;
typedef enum TBPFLAG
{
TBPF_NOPROGRESS = 0x00000000,
TBPF_INDETERMINATE = 0x00000001,
TBPF_NORMAL = 0x00000002,
TBPF_ERROR = 0x00000004,
TBPF_PAUSED = 0x00000008,
} TBPFLAG;
[
uuid(00000000-0000-0000-C000-000000000046),
version(1.0),
helpstring("IUnknown-Interface for Visual Basic"),
odl
]
interface IVBUnknown
{
long __stdcall QueryInterface([in] UUID* IID, [in,out] void* pObject);
long __stdcall AddRef();
long __stdcall Release();
};
[
uuid(000214F9-0000-0000-C000-000000000046),
version(1.0),
helpstring("IShellLinkW-Interface for Visual Basic"),
odl
]
interface IVBShellLinkW : IVBUnknown
{
long __stdcall GetPath([in,out] LPWSTR Path, [in] int Pathsize, [in,out] WIN32_FIND_DATAW *FileData, [in] SLGPConstants Flags);
long __stdcall GetIDList([in,out] long *pIDL);
long __stdcall SetIDList([in] long pIDL);
long __stdcall GetDescription([in,out] LPWSTR Descr, [in] int Buffersize);
long __stdcall SetDescription([in] LPWSTR Descr);
long __stdcall GetWorkingDirectory([in,out] LPWSTR WorkingDir, [in] int Buffersize);
long __stdcall SetWorkingDirectory([in] LPWSTR WorkingDir);
long __stdcall GetArguments([in,out] LPWSTR Args, [in] int Buffersize);
long __stdcall SetArguments([in] LPWSTR Args);
long __stdcall GetHotkey([in,out] short *Hotkey);
long __stdcall SetHotkey([in] short Hotkey);
long __stdcall GetShowCmd([in,out] int *ShowCmd);
long __stdcall SetShowCmd([in] int ShowCmd);
long __stdcall GetIconLocation([in,out] LPWSTR IconPath, [in] int IconPathSize, [in,out] int *iIcon);
long __stdcall SetIconLocation([in] LPWSTR IconPath, [in] int iIcon);
long __stdcall SetRelativePath([in] LPWSTR RelPath, [in] long reserviert);
long __stdcall Resolve([in] long hWnd, [in] SLRConstants Flags);
long __stdcall SetPath([in] LPWSTR Path);
};
[
uuid(886D8EEB-8CF2-4446-8D02-CDBA1DBDCF99),
version(1.0),
helpstring("IPropertyStore for Visual Basic"),
odl
]
interface IVBPropertyStore : IVBUnknown
{
long __stdcall GetCount([in] long* cProps);
long __stdcall GetAt([in] long iProp, [in] PROPERTYKEY* pKey);
long __stdcall GetValue([in] PROPERTYKEY* key, [in,out] PROPVARIANT* pv);
long __stdcall SetValue([in] PROPERTYKEY* key, [in] PROPVARIANT* propvar);
long __stdcall Commit();
};
[
uuid(92CA9DCD-5622-4bba-A805-5E9F541BD8C9),
version(1.0),
helpstring("IObjectArray-Interface for Visual Basic"),
odl
]
interface IVBObjectArray : IVBUnknown
{
long __stdcall GetCount([out] long* pcObjects);
long __stdcall GetAt([in] long uiIndex, [in] UUID* riid, [in,out] void* ppv);
};
[
uuid(5632b1a4-e38a-400a-928a-d4cd63230295),
version(1.0),
helpstring("IObjectCollection-Interface for Visual Basic"),
odl
]
interface IVBObjectCollection : IVBObjectArray
{
long __stdcall AddObject([in] IVBUnknown* punk);
long __stdcall AddFromArray([in] IVBObjectArray* poaSource);
long __stdcall RemoveObjectAt([in] long uiIndex);
long __stdcall Clear();
};
[
uuid(6332debf-87b5-4670-90c0-5e57b408a49e),
version(1.0),
helpstring("ICustomDestinationList-Interface for Visual Basic"),
odl
]
interface IVBCustomDestinationList : IVBUnknown
{
long __stdcall SetAppID([in] long pszAppID);
long __stdcall BeginList([out] long* pcMinSlots, [in] UUID* riid, [in,out] void* ppv);
long __stdcall AppendCategory([in] long pszCategory, [in] IVBObjectArray* poa);
long __stdcall AppendKnownCategory([in] KNOWNDESTCATEGORYConstants category);
long __stdcall AddUserTasks([in] IVBObjectArray* poa);
long __stdcall CommitList();
long __stdcall GetRemovedDestinations([in] UUID* riid, [in,out] void* ppv);
long __stdcall DeleteList([in] long pszAppID);
long __stdcall AbortList();
};
[
uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf),
helpstring("ITaskbarList-Interface for Visual Basic"),
odl
]
interface IVBTaskbarList : IVBUnknown
{
long __stdcall HrInit();
long __stdcall AddTab([in] LONG hwnd);
long __stdcall DeleteTab([in] LONG hwnd);
long __stdcall ActivateTab([in] LONG hwnd);
long __stdcall SetActiveAlt([in] LONG hwnd);
long __stdcall MarkFullscreenWindow([in] LONG hwnd,[in] LONG fFullscreen);
long __stdcall SetProgressValue([in] LONG hwnd,[in] LONG ullCompleted_Low,[in] LONG ullCompleted_High,[in] LONG ullTotal_Low,[in] LONG ullTotal_High);
long __stdcall SetProgressState([in] LONG hwnd,[in] TBPFLAG tbpFlags);
long __stdcall RegisterTab([in] LONG hwndTab,[in] LONG hwndMDI);
long __stdcall UnregisterTab([in] LONG hwndTab);
long __stdcall SetTabOrder([in] LONG hwndTab,[in] LONG hwndInsertBefore);
long __stdcall SetTabActive([in] LONG hwndTab,[in] LONG hwndMDI,[in] LONG dwReserved);
long __stdcall ThumbBarAddButtons([in] LONG hwnd,[in] LONG cButtons,[in] LONG pButton);
long __stdcall ThumbBarUpdateButtons([in] LONG hwnd,[in] LONG cButtons,[in] LONG pButton);
long __stdcall ThumbBarSetImageList([in] LONG hwnd,[in] LONG himl);
long __stdcall SetOverlayIcon([in] LONG hwnd,[in] LONG hIcon,[in] LONG pszDescription);
long __stdcall SetThumbnailTooltip([in] LONG hwnd, [in] LONG pszTip);
long __stdcall SetThumbnailClip([in] LONG hwnd, [in] RECT *prcClip);
};
}