|
@@ -3232,10 +3232,14 @@ LWSTDAPI :: HRESULT
|
|
|
|
|
|
CLSID_FileOpenDialog := &GUID{0xDC1C5A9C, 0xE88A, 0x4DDE, {0xA5, 0xA1, 0x60, 0xF8, 0x2A, 0x20, 0xAE, 0xF7}}
|
|
|
CLSID_FileSaveDialog := &GUID{0xC0B4E2F3, 0xBA21, 0x4773, {0x8D, 0xBA, 0x33, 0x5E, 0xC9, 0x46, 0xEB, 0x8B}}
|
|
|
+CLSID_TaskbarList := &GUID{0x56FDF344, 0xFD6D, 0x11d0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
|
|
|
|
|
|
IID_IFileDialog := &GUID{0x42F85136, 0xDB7E, 0x439C, {0x85, 0xF1, 0xE4, 0x07, 0x5D, 0x13, 0x5F, 0xC8}}
|
|
|
IID_IFileSaveDialog := &GUID{0x84BCCD23, 0x5FDE, 0x4CDB, {0xAE, 0xA4, 0xAF, 0x64, 0xB8, 0x3D, 0x78, 0xAB}}
|
|
|
IID_IFileOpenDialog := &GUID{0xD57C7288, 0xD4AD, 0x4768, {0xBE, 0x02, 0x9D, 0x96, 0x95, 0x32, 0xD9, 0x60}}
|
|
|
+IID_ITaskbarList := &GUID{0x56FDF342, 0xFD6D, 0x11d0, {0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
|
|
|
+IID_ITaskbarList2 := &GUID{0x602D4995, 0xB13A, 0x429b, {0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17}}
|
|
|
+IID_ITaskbarList3 := &GUID{0xea1afb91, 0x9e28, 0x4b86, {0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf}}
|
|
|
|
|
|
IModalWindow :: struct #raw_union {
|
|
|
#subtype IUnknown: IUnknown,
|
|
@@ -3540,6 +3544,84 @@ IFileSaveDialogVtbl :: struct {
|
|
|
ApplyProperties: proc "stdcall" (this: ^IFileSaveDialog, psi: ^IShellItem, pStore: ^IPropertyStore, hwnd: HWND, pSink: ^IFileOperationProgressSink) -> HRESULT,
|
|
|
}
|
|
|
|
|
|
+ITaskbarList :: struct #raw_union {
|
|
|
+ #subtype IUnknown: IUnknown,
|
|
|
+ using Vtbl: ^ITaskbarListVtbl,
|
|
|
+}
|
|
|
+ITaskbarListVtbl :: struct {
|
|
|
+ using IUnknownVtbl: IUnknownVtbl,
|
|
|
+ HrInit: proc "stdcall" (this: ^ITaskbarList) -> HRESULT,
|
|
|
+ AddTab: proc "stdcall" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
|
|
|
+ DeleteTab: proc "stdcall" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
|
|
|
+ ActivateTab: proc "stdcall" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
|
|
|
+ SetActiveAlt: proc "stdcall" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
|
|
|
+}
|
|
|
+
|
|
|
+ITaskbarList2 :: struct #raw_union {
|
|
|
+ #subtype ITaskbarList: ITaskbarList,
|
|
|
+ using Vtbl: ^ITaskbarList2Vtbl,
|
|
|
+}
|
|
|
+ITaskbarList2Vtbl :: struct {
|
|
|
+ using ITaskbarListVtbl: ITaskbarListVtbl,
|
|
|
+ MarkFullscreenWindow: proc "stdcall" (this: ^ITaskbarList2, hwnd: HWND, fFullscreen: BOOL) -> HRESULT,
|
|
|
+}
|
|
|
+
|
|
|
+TBPFLAG :: enum c_int {
|
|
|
+ NOPROGRESS = 0,
|
|
|
+ INDETERMINATE = 0x1,
|
|
|
+ NORMAL = 0x2,
|
|
|
+ ERROR = 0x4,
|
|
|
+ PAUSED = 0x8,
|
|
|
+}
|
|
|
+
|
|
|
+THUMBBUTTONFLAGS :: enum c_int {
|
|
|
+ ENABLED = 0,
|
|
|
+ DISABLED = 0x1,
|
|
|
+ DISMISSONCLICK = 0x2,
|
|
|
+ NOBACKGROUND = 0x4,
|
|
|
+ HIDDEN = 0x8,
|
|
|
+ NONINTERACTIVE = 0x10,
|
|
|
+}
|
|
|
+
|
|
|
+THUMBBUTTONMASK :: enum c_int {
|
|
|
+ BITMAP = 0x1,
|
|
|
+ ICON = 0x2,
|
|
|
+ TOOLTIP = 0x4,
|
|
|
+ FLAGS = 0x8,
|
|
|
+}
|
|
|
+
|
|
|
+THUMBBUTTON :: struct {
|
|
|
+ dwMask: THUMBBUTTONMASK,
|
|
|
+ iId: UINT,
|
|
|
+ iBitmap: UINT,
|
|
|
+ hIcon: HICON,
|
|
|
+ szTip: [260]WCHAR,
|
|
|
+ dwFlags: THUMBBUTTONFLAGS,
|
|
|
+}
|
|
|
+LPTHUMBBUTTON :: ^THUMBBUTTON
|
|
|
+
|
|
|
+HIMAGELIST :: ^IUnknown
|
|
|
+
|
|
|
+ITaskbarList3 :: struct #raw_union {
|
|
|
+ #subtype ITaskbarList2: ITaskbarList2,
|
|
|
+ using Vtbl: ^ITaskbarList3Vtbl,
|
|
|
+}
|
|
|
+ITaskbarList3Vtbl :: struct {
|
|
|
+ using ITaskbarList2Vtbl: ITaskbarList2Vtbl,
|
|
|
+ SetProgressValue: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, ullCompleted: ULONGLONG, ullTotal: ULONGLONG) -> HRESULT,
|
|
|
+ SetProgressState: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, tbpFlags: TBPFLAG) -> HRESULT,
|
|
|
+ RegisterTab: proc "stdcall" (this: ^ITaskbarList3, hwndTab: HWND, hwndMDI: HWND) -> HRESULT,
|
|
|
+ UnregisterTab: proc "stdcall" (this: ^ITaskbarList3, hwndTab: HWND) -> HRESULT,
|
|
|
+ SetTabOrder: proc "stdcall" (this: ^ITaskbarList3, hwndTab: HWND, hwndInsertBefore: HWND) -> HRESULT,
|
|
|
+ SetTabActive: proc "stdcall" (this: ^ITaskbarList3, hwndTab: HWND, hwndMDI: HWND, dwReserved: DWORD) -> HRESULT,
|
|
|
+ ThumbBarAddButtons: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON) -> HRESULT,
|
|
|
+ ThumbBarUpdateButtons: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON) -> HRESULT,
|
|
|
+ ThumbBarSetImageList: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, himl: HIMAGELIST) -> HRESULT,
|
|
|
+ SetOverlayIcon: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, hIcon: HICON, pszDescription: LPCWSTR) -> HRESULT,
|
|
|
+ SetThumbnailTooltip: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, pszTip: LPCWSTR) -> HRESULT,
|
|
|
+ SetThumbnailClip: proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, prcClip: ^RECT) -> HRESULT,
|
|
|
+}
|
|
|
+
|
|
|
MEMORYSTATUSEX :: struct {
|
|
|
dwLength: DWORD,
|
|
|
dwMemoryLoad: DWORD,
|