go-tg-screenshot-bot

Форк
0
73 строки · 1.8 Кб
1
// Copyright 2012 The win Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
// +build windows
6

7
package win
8

9
import (
10
	"syscall"
11
	"unsafe"
12
)
13

14
var (
15
	CLSID_TaskbarList = CLSID{0x56FDF344, 0xFD6D, 0x11d0, [8]byte{0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
16
	IID_ITaskbarList3 = IID{0xea1afb91, 0x9e28, 0x4b86, [8]byte{0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf}}
17
)
18

19
//TBPFLAG
20
const (
21
	TBPF_NOPROGRESS    = 0
22
	TBPF_INDETERMINATE = 0x1
23
	TBPF_NORMAL        = 0x2
24
	TBPF_ERROR         = 0x4
25
	TBPF_PAUSED        = 0x8
26
)
27

28
type ITaskbarList3Vtbl struct {
29
	QueryInterface        uintptr
30
	AddRef                uintptr
31
	Release               uintptr
32
	HrInit                uintptr
33
	AddTab                uintptr
34
	DeleteTab             uintptr
35
	ActivateTab           uintptr
36
	SetActiveAlt          uintptr
37
	MarkFullscreenWindow  uintptr
38
	SetProgressValue      uintptr
39
	SetProgressState      uintptr
40
	RegisterTab           uintptr
41
	UnregisterTab         uintptr
42
	SetTabOrder           uintptr
43
	SetTabActive          uintptr
44
	ThumbBarAddButtons    uintptr
45
	ThumbBarUpdateButtons uintptr
46
	ThumbBarSetImageList  uintptr
47
	SetOverlayIcon        uintptr
48
	SetThumbnailTooltip   uintptr
49
	SetThumbnailClip      uintptr
50
}
51

52
type ITaskbarList3 struct {
53
	LpVtbl *ITaskbarList3Vtbl
54
}
55

56
func (obj *ITaskbarList3) SetProgressState(hwnd HWND, state int) HRESULT {
57
	ret, _, _ := syscall.Syscall(obj.LpVtbl.SetProgressState, 3,
58
		uintptr(unsafe.Pointer(obj)),
59
		uintptr(hwnd),
60
		uintptr(state))
61
	return HRESULT(ret)
62
}
63

64
func (obj *ITaskbarList3) SetOverlayIcon(hwnd HWND, icon HICON, description *uint16) HRESULT {
65
	ret, _, _ := syscall.Syscall6(obj.LpVtbl.SetOverlayIcon, 4,
66
		uintptr(unsafe.Pointer(obj)),
67
		uintptr(hwnd),
68
		uintptr(icon),
69
		uintptr(unsafe.Pointer(description)),
70
		0,
71
		0)
72
	return HRESULT(ret)
73
}
74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.