go-tg-screenshot-bot

Форк
0
87 строк · 1.4 Кб
1
// Copyright 2010 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
	"unsafe"
11

12
	"golang.org/x/sys/windows"
13
)
14

15
const (
16
	S_OK           = 0x00000000
17
	S_FALSE        = 0x00000001
18
	E_UNEXPECTED   = 0x8000FFFF
19
	E_NOTIMPL      = 0x80004001
20
	E_OUTOFMEMORY  = 0x8007000E
21
	E_INVALIDARG   = 0x80070057
22
	E_NOINTERFACE  = 0x80004002
23
	E_POINTER      = 0x80004003
24
	E_HANDLE       = 0x80070006
25
	E_ABORT        = 0x80004004
26
	E_FAIL         = 0x80004005
27
	E_ACCESSDENIED = 0x80070005
28
	E_PENDING      = 0x8000000A
29
)
30

31
const (
32
	FALSE = 0
33
	TRUE  = 1
34
)
35

36
type (
37
	BOOL    int32
38
	HRESULT int32
39
)
40

41
func SUCCEEDED(hr HRESULT) bool {
42
	return hr >= 0
43
}
44

45
func FAILED(hr HRESULT) bool {
46
	return hr < 0
47
}
48

49
func MAKEWORD(lo, hi byte) uint16 {
50
	return uint16(uint16(lo) | ((uint16(hi)) << 8))
51
}
52

53
func LOBYTE(w uint16) byte {
54
	return byte(w)
55
}
56

57
func HIBYTE(w uint16) byte {
58
	return byte(w >> 8 & 0xff)
59
}
60

61
func MAKELONG(lo, hi uint16) uint32 {
62
	return uint32(uint32(lo) | ((uint32(hi)) << 16))
63
}
64

65
func LOWORD(dw uint32) uint16 {
66
	return uint16(dw)
67
}
68

69
func HIWORD(dw uint32) uint16 {
70
	return uint16(dw >> 16 & 0xffff)
71
}
72

73
func UTF16PtrToString(s *uint16) string {
74
	return windows.UTF16PtrToString(s)
75
}
76

77
func MAKEINTRESOURCE(id uintptr) *uint16 {
78
	return (*uint16)(unsafe.Pointer(id))
79
}
80

81
func BoolToBOOL(value bool) BOOL {
82
	if value {
83
		return 1
84
	}
85

86
	return 0
87
}
88

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

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

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

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