74 lines
1.8 KiB
Go
74 lines
1.8 KiB
Go
|
// Copyright 2012 The win Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
// +build windows
|
||
|
|
||
|
package win
|
||
|
|
||
|
import (
|
||
|
"syscall"
|
||
|
"unsafe"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
CLSID_TaskbarList = CLSID{0x56FDF344, 0xFD6D, 0x11d0, [8]byte{0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
|
||
|
IID_ITaskbarList3 = IID{0xea1afb91, 0x9e28, 0x4b86, [8]byte{0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf}}
|
||
|
)
|
||
|
|
||
|
//TBPFLAG
|
||
|
const (
|
||
|
TBPF_NOPROGRESS = 0
|
||
|
TBPF_INDETERMINATE = 0x1
|
||
|
TBPF_NORMAL = 0x2
|
||
|
TBPF_ERROR = 0x4
|
||
|
TBPF_PAUSED = 0x8
|
||
|
)
|
||
|
|
||
|
type ITaskbarList3Vtbl struct {
|
||
|
QueryInterface uintptr
|
||
|
AddRef uintptr
|
||
|
Release uintptr
|
||
|
HrInit uintptr
|
||
|
AddTab uintptr
|
||
|
DeleteTab uintptr
|
||
|
ActivateTab uintptr
|
||
|
SetActiveAlt uintptr
|
||
|
MarkFullscreenWindow uintptr
|
||
|
SetProgressValue uintptr
|
||
|
SetProgressState uintptr
|
||
|
RegisterTab uintptr
|
||
|
UnregisterTab uintptr
|
||
|
SetTabOrder uintptr
|
||
|
SetTabActive uintptr
|
||
|
ThumbBarAddButtons uintptr
|
||
|
ThumbBarUpdateButtons uintptr
|
||
|
ThumbBarSetImageList uintptr
|
||
|
SetOverlayIcon uintptr
|
||
|
SetThumbnailTooltip uintptr
|
||
|
SetThumbnailClip uintptr
|
||
|
}
|
||
|
|
||
|
type ITaskbarList3 struct {
|
||
|
LpVtbl *ITaskbarList3Vtbl
|
||
|
}
|
||
|
|
||
|
func (obj *ITaskbarList3) SetProgressState(hwnd HWND, state int) HRESULT {
|
||
|
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetProgressState, 3,
|
||
|
uintptr(unsafe.Pointer(obj)),
|
||
|
uintptr(hwnd),
|
||
|
uintptr(state))
|
||
|
return HRESULT(ret)
|
||
|
}
|
||
|
|
||
|
func (obj *ITaskbarList3) SetOverlayIcon(hwnd HWND, icon HICON, description *uint16) HRESULT {
|
||
|
ret, _, _ := syscall.Syscall6(obj.LpVtbl.SetOverlayIcon, 4,
|
||
|
uintptr(unsafe.Pointer(obj)),
|
||
|
uintptr(hwnd),
|
||
|
uintptr(icon),
|
||
|
uintptr(unsafe.Pointer(description)),
|
||
|
0,
|
||
|
0)
|
||
|
return HRESULT(ret)
|
||
|
}
|