Vendor JeffAshton/win_pdh and remove lxn/win
This commit is contained in:
parent
dad41f8526
commit
fe399bda1a
8
Godeps/Godeps.json
generated
8
Godeps/Godeps.json
generated
@ -96,6 +96,10 @@
|
|||||||
"Comment": "v9.1.0",
|
"Comment": "v9.1.0",
|
||||||
"Rev": "e14a70c556c8e0db173358d1a903dca345a8e75e"
|
"Rev": "e14a70c556c8e0db173358d1a903dca345a8e75e"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/JeffAshton/win_pdh",
|
||||||
|
"Rev": "76bb4ee9f0ab50f77826f2a2ee7fb9d3880d6ec2"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/MakeNowJust/heredoc",
|
"ImportPath": "github.com/MakeNowJust/heredoc",
|
||||||
"Rev": "bb23615498cded5e105af4ce27de75b089cbe851"
|
"Rev": "bb23615498cded5e105af4ce27de75b089cbe851"
|
||||||
@ -1944,10 +1948,6 @@
|
|||||||
"Comment": "v1.0-1-g9577782",
|
"Comment": "v1.0-1-g9577782",
|
||||||
"Rev": "9577782540c1398b710ddae1b86268ba03a19b0c"
|
"Rev": "9577782540c1398b710ddae1b86268ba03a19b0c"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"ImportPath": "github.com/lxn/win",
|
|
||||||
"Rev": "712da405e3eb60e148bf5086991cd1e9eb570001"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/magiconair/properties",
|
"ImportPath": "github.com/magiconair/properties",
|
||||||
"Comment": "v1.7.0-4-g61b492c",
|
"Comment": "v1.7.0-4-g61b492c",
|
||||||
|
62
Godeps/LICENSES
generated
62
Godeps/LICENSES
generated
@ -64871,6 +64871,37 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
= vendor/github.com/JeffAshton/win_pdh licensed under: =
|
||||||
|
|
||||||
|
Copyright (c) 2010 The win_pdh Authors. All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. The names of the authors may not be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
= vendor/github.com/JeffAshton/win_pdh/LICENSE fadcabe0503181faf8d4a9579bed3b7f
|
||||||
|
================================================================================
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
= vendor/github.com/jmespath/go-jmespath licensed under: =
|
= vendor/github.com/jmespath/go-jmespath licensed under: =
|
||||||
|
|
||||||
@ -67136,37 +67167,6 @@ Apache License
|
|||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
|
||||||
= vendor/github.com/lxn/win licensed under: =
|
|
||||||
|
|
||||||
Copyright (c) 2010 The win Authors. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
3. The names of the authors may not be used to endorse or promote products
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
|
||||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
||||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
= vendor/github.com/lxn/win/LICENSE 794c9d5b17cb1deeb131552549b6e7f2
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
= vendor/github.com/magiconair/properties licensed under: =
|
= vendor/github.com/magiconair/properties licensed under: =
|
||||||
|
|
||||||
|
2
vendor/BUILD
vendored
2
vendor/BUILD
vendored
@ -21,6 +21,7 @@ filegroup(
|
|||||||
"//vendor/github.com/Azure/azure-sdk-for-go/storage:all-srcs",
|
"//vendor/github.com/Azure/azure-sdk-for-go/storage:all-srcs",
|
||||||
"//vendor/github.com/Azure/go-ansiterm:all-srcs",
|
"//vendor/github.com/Azure/go-ansiterm:all-srcs",
|
||||||
"//vendor/github.com/Azure/go-autorest/autorest:all-srcs",
|
"//vendor/github.com/Azure/go-autorest/autorest:all-srcs",
|
||||||
|
"//vendor/github.com/JeffAshton/win_pdh:all-srcs",
|
||||||
"//vendor/github.com/MakeNowJust/heredoc:all-srcs",
|
"//vendor/github.com/MakeNowJust/heredoc:all-srcs",
|
||||||
"//vendor/github.com/Microsoft/go-winio:all-srcs",
|
"//vendor/github.com/Microsoft/go-winio:all-srcs",
|
||||||
"//vendor/github.com/Microsoft/hcsshim:all-srcs",
|
"//vendor/github.com/Microsoft/hcsshim:all-srcs",
|
||||||
@ -265,7 +266,6 @@ filegroup(
|
|||||||
"//vendor/github.com/libopenstorage/openstorage/pkg/units:all-srcs",
|
"//vendor/github.com/libopenstorage/openstorage/pkg/units:all-srcs",
|
||||||
"//vendor/github.com/libopenstorage/openstorage/volume:all-srcs",
|
"//vendor/github.com/libopenstorage/openstorage/volume:all-srcs",
|
||||||
"//vendor/github.com/lpabon/godbc:all-srcs",
|
"//vendor/github.com/lpabon/godbc:all-srcs",
|
||||||
"//vendor/github.com/lxn/win:all-srcs",
|
|
||||||
"//vendor/github.com/magiconair/properties:all-srcs",
|
"//vendor/github.com/magiconair/properties:all-srcs",
|
||||||
"//vendor/github.com/mailru/easyjson/buffer:all-srcs",
|
"//vendor/github.com/mailru/easyjson/buffer:all-srcs",
|
||||||
"//vendor/github.com/mailru/easyjson/jlexer:all-srcs",
|
"//vendor/github.com/mailru/easyjson/jlexer:all-srcs",
|
||||||
|
14
vendor/github.com/JeffAshton/win_pdh/AUTHORS
generated
vendored
Normal file
14
vendor/github.com/JeffAshton/win_pdh/AUTHORS
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# This is the official list of 'win_pdh' authors for copyright purposes.
|
||||||
|
|
||||||
|
# Names should be added to this file as
|
||||||
|
# Name or Organization <email address>
|
||||||
|
# The email address is not required for organizations.
|
||||||
|
|
||||||
|
# Please keep the list sorted.
|
||||||
|
|
||||||
|
# Contributors
|
||||||
|
# ============
|
||||||
|
|
||||||
|
Alexander Neumann <an2048@googlemail.com>
|
||||||
|
Joseph Watson <jtwatson@linux-consulting.us>
|
||||||
|
Kevin Pors <krpors@gmail.com>
|
27
vendor/github.com/JeffAshton/win_pdh/BUILD
generated
vendored
Normal file
27
vendor/github.com/JeffAshton/win_pdh/BUILD
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "go_default_library",
|
||||||
|
srcs = select({
|
||||||
|
"@io_bazel_rules_go//go/platform:windows_amd64": [
|
||||||
|
"pdh.go",
|
||||||
|
],
|
||||||
|
"//conditions:default": [],
|
||||||
|
}),
|
||||||
|
importpath = "github.com/JeffAshton/win_pdh",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
2
vendor/github.com/lxn/win/LICENSE → vendor/github.com/JeffAshton/win_pdh/LICENSE
generated
vendored
2
vendor/github.com/lxn/win/LICENSE → vendor/github.com/JeffAshton/win_pdh/LICENSE
generated
vendored
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2010 The win Authors. All rights reserved.
|
Copyright (c) 2010 The win_pdh Authors. All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
15
vendor/github.com/JeffAshton/win_pdh/README.mdown
generated
vendored
Normal file
15
vendor/github.com/JeffAshton/win_pdh/README.mdown
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
About win_pdh
|
||||||
|
=============
|
||||||
|
|
||||||
|
win_pdh is a Windows Performance Data Helper wrapper package for Go.
|
||||||
|
|
||||||
|
Originally part of [walk](https://github.com/lxn/walk) and [win](https://github.com/lxn/win), it is now a separate
|
||||||
|
project.
|
||||||
|
|
||||||
|
Setup
|
||||||
|
=====
|
||||||
|
|
||||||
|
Make sure you have a working Go installation.
|
||||||
|
See [Getting Started](http://golang.org/doc/install.html)
|
||||||
|
|
||||||
|
Now run `go get github.com/JeffAshton/win_pdh`
|
21
vendor/github.com/lxn/win/pdh.go → vendor/github.com/JeffAshton/win_pdh/pdh.go
generated
vendored
21
vendor/github.com/lxn/win/pdh.go → vendor/github.com/JeffAshton/win_pdh/pdh.go
generated
vendored
@ -1,16 +1,26 @@
|
|||||||
// Copyright 2013 The win Authors. All rights reserved.
|
// Copyright 2013 The win_pdh Authors. All rights reserved.
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build windows
|
// +build windows
|
||||||
|
|
||||||
package win
|
package win_pdh
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Error codes
|
||||||
|
const (
|
||||||
|
ERROR_SUCCESS = 0
|
||||||
|
ERROR_INVALID_FUNCTION = 1
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
HANDLE uintptr
|
||||||
|
)
|
||||||
|
|
||||||
// PDH error codes, which can be returned by all Pdh* functions. Taken from mingw-w64 pdhmsg.h
|
// PDH error codes, which can be returned by all Pdh* functions. Taken from mingw-w64 pdhmsg.h
|
||||||
const (
|
const (
|
||||||
PDH_CSTATUS_VALID_DATA = 0x00000000 // The returned data is valid.
|
PDH_CSTATUS_VALID_DATA = 0x00000000 // The returned data is valid.
|
||||||
@ -434,3 +444,10 @@ func PdhValidatePath(path string) uint32 {
|
|||||||
|
|
||||||
return uint32(ret)
|
return uint32(ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UTF16PtrToString(s *uint16) string {
|
||||||
|
if s == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return syscall.UTF16ToString((*[1 << 29]uint16)(unsafe.Pointer(s))[0:])
|
||||||
|
}
|
24
vendor/github.com/lxn/win/AUTHORS
generated
vendored
24
vendor/github.com/lxn/win/AUTHORS
generated
vendored
@ -1,24 +0,0 @@
|
|||||||
# This is the official list of 'win' authors for copyright purposes.
|
|
||||||
|
|
||||||
# Names should be added to this file as
|
|
||||||
# Name or Organization <email address>
|
|
||||||
# The email address is not required for organizations.
|
|
||||||
|
|
||||||
# Please keep the list sorted.
|
|
||||||
|
|
||||||
# Contributors
|
|
||||||
# ============
|
|
||||||
|
|
||||||
Alexander Neumann <an2048@googlemail.com>
|
|
||||||
Anton Lahti <antonlahti@gmail.com>
|
|
||||||
Benny Siegert <bsiegert@gmail.com>
|
|
||||||
Bruno Bigras <bigras.bruno@gmail.com>
|
|
||||||
Carlos Cobo <toqueteos@gmail.com>
|
|
||||||
Cary Cherng <ccherng@gmail.com>
|
|
||||||
David Porter <david@porter.me>
|
|
||||||
Hill <zhubicen@gmail.com>
|
|
||||||
Joseph Watson <jtwatson@linux-consulting.us>
|
|
||||||
Kevin Pors <krpors@gmail.com>
|
|
||||||
ktye <ktye@users.noreply.github.com>
|
|
||||||
mycaosf <mycaosf@gmail.com>
|
|
||||||
wsf01 <wf1337@sina.com>
|
|
59
vendor/github.com/lxn/win/BUILD
generated
vendored
59
vendor/github.com/lxn/win/BUILD
generated
vendored
@ -1,59 +0,0 @@
|
|||||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "go_default_library",
|
|
||||||
srcs = select({
|
|
||||||
"@io_bazel_rules_go//go/platform:windows_amd64": [
|
|
||||||
"advapi32.go",
|
|
||||||
"combobox.go",
|
|
||||||
"comctl32.go",
|
|
||||||
"comdlg32.go",
|
|
||||||
"datetimepicker.go",
|
|
||||||
"edit.go",
|
|
||||||
"gdi32.go",
|
|
||||||
"gdiplus.go",
|
|
||||||
"header.go",
|
|
||||||
"kernel32.go",
|
|
||||||
"listbox.go",
|
|
||||||
"listview.go",
|
|
||||||
"menu.go",
|
|
||||||
"ole32.go",
|
|
||||||
"oleaut32.go",
|
|
||||||
"oleaut32_amd64.go",
|
|
||||||
"opengl32.go",
|
|
||||||
"pdh.go",
|
|
||||||
"shdocvw.go",
|
|
||||||
"shell32.go",
|
|
||||||
"shobj.go",
|
|
||||||
"shobj_amd64.go",
|
|
||||||
"statusbar.go",
|
|
||||||
"syslink.go",
|
|
||||||
"tab.go",
|
|
||||||
"toolbar.go",
|
|
||||||
"tooltip.go",
|
|
||||||
"treeview.go",
|
|
||||||
"updown.go",
|
|
||||||
"user32.go",
|
|
||||||
"uxtheme.go",
|
|
||||||
"win.go",
|
|
||||||
"winspool.go",
|
|
||||||
],
|
|
||||||
"//conditions:default": [],
|
|
||||||
}),
|
|
||||||
importpath = "github.com/lxn/win",
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
)
|
|
||||||
|
|
||||||
filegroup(
|
|
||||||
name = "package-srcs",
|
|
||||||
srcs = glob(["**"]),
|
|
||||||
tags = ["automanaged"],
|
|
||||||
visibility = ["//visibility:private"],
|
|
||||||
)
|
|
||||||
|
|
||||||
filegroup(
|
|
||||||
name = "all-srcs",
|
|
||||||
srcs = [":package-srcs"],
|
|
||||||
tags = ["automanaged"],
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
)
|
|
15
vendor/github.com/lxn/win/README.mdown
generated
vendored
15
vendor/github.com/lxn/win/README.mdown
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
About win
|
|
||||||
=========
|
|
||||||
|
|
||||||
win is a Windows API wrapper package for Go.
|
|
||||||
|
|
||||||
Originally part of [walk](https://github.com/lxn/walk), it is now a separate
|
|
||||||
project.
|
|
||||||
|
|
||||||
Setup
|
|
||||||
=====
|
|
||||||
|
|
||||||
Make sure you have a working Go installation.
|
|
||||||
See [Getting Started](http://golang.org/doc/install.html)
|
|
||||||
|
|
||||||
Now run `go get github.com/lxn/win`
|
|
136
vendor/github.com/lxn/win/advapi32.go
generated
vendored
136
vendor/github.com/lxn/win/advapi32.go
generated
vendored
@ -1,136 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
const KEY_READ REGSAM = 0x20019
|
|
||||||
const KEY_WRITE REGSAM = 0x20006
|
|
||||||
|
|
||||||
const (
|
|
||||||
HKEY_CLASSES_ROOT HKEY = 0x80000000
|
|
||||||
HKEY_CURRENT_USER HKEY = 0x80000001
|
|
||||||
HKEY_LOCAL_MACHINE HKEY = 0x80000002
|
|
||||||
HKEY_USERS HKEY = 0x80000003
|
|
||||||
HKEY_PERFORMANCE_DATA HKEY = 0x80000004
|
|
||||||
HKEY_CURRENT_CONFIG HKEY = 0x80000005
|
|
||||||
HKEY_DYN_DATA HKEY = 0x80000006
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
ERROR_NO_MORE_ITEMS = 259
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
ACCESS_MASK uint32
|
|
||||||
HKEY HANDLE
|
|
||||||
REGSAM ACCESS_MASK
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
REG_NONE uint64 = 0 // No value type
|
|
||||||
REG_SZ = 1 // Unicode nul terminated string
|
|
||||||
REG_EXPAND_SZ = 2 // Unicode nul terminated string
|
|
||||||
// (with environment variable references)
|
|
||||||
REG_BINARY = 3 // Free form binary
|
|
||||||
REG_DWORD = 4 // 32-bit number
|
|
||||||
REG_DWORD_LITTLE_ENDIAN = 4 // 32-bit number (same as REG_DWORD)
|
|
||||||
REG_DWORD_BIG_ENDIAN = 5 // 32-bit number
|
|
||||||
REG_LINK = 6 // Symbolic Link (unicode)
|
|
||||||
REG_MULTI_SZ = 7 // Multiple Unicode strings
|
|
||||||
REG_RESOURCE_LIST = 8 // Resource list in the resource map
|
|
||||||
REG_FULL_RESOURCE_DESCRIPTOR = 9 // Resource list in the hardware description
|
|
||||||
REG_RESOURCE_REQUIREMENTS_LIST = 10
|
|
||||||
REG_QWORD = 11 // 64-bit number
|
|
||||||
REG_QWORD_LITTLE_ENDIAN = 11 // 64-bit number (same as REG_QWORD)
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libadvapi32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
regCloseKey uintptr
|
|
||||||
regOpenKeyEx uintptr
|
|
||||||
regQueryValueEx uintptr
|
|
||||||
regEnumValue uintptr
|
|
||||||
regSetValueEx uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libadvapi32 = MustLoadLibrary("advapi32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
regCloseKey = MustGetProcAddress(libadvapi32, "RegCloseKey")
|
|
||||||
regOpenKeyEx = MustGetProcAddress(libadvapi32, "RegOpenKeyExW")
|
|
||||||
regQueryValueEx = MustGetProcAddress(libadvapi32, "RegQueryValueExW")
|
|
||||||
regEnumValue = MustGetProcAddress(libadvapi32, "RegEnumValueW")
|
|
||||||
regSetValueEx = MustGetProcAddress(libadvapi32, "RegSetValueExW")
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegCloseKey(hKey HKEY) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall(regCloseKey, 1,
|
|
||||||
uintptr(hKey),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegOpenKeyEx(hKey HKEY, lpSubKey *uint16, ulOptions uint32, samDesired REGSAM, phkResult *HKEY) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(regOpenKeyEx, 5,
|
|
||||||
uintptr(hKey),
|
|
||||||
uintptr(unsafe.Pointer(lpSubKey)),
|
|
||||||
uintptr(ulOptions),
|
|
||||||
uintptr(samDesired),
|
|
||||||
uintptr(unsafe.Pointer(phkResult)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegQueryValueEx(hKey HKEY, lpValueName *uint16, lpReserved, lpType *uint32, lpData *byte, lpcbData *uint32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(regQueryValueEx, 6,
|
|
||||||
uintptr(hKey),
|
|
||||||
uintptr(unsafe.Pointer(lpValueName)),
|
|
||||||
uintptr(unsafe.Pointer(lpReserved)),
|
|
||||||
uintptr(unsafe.Pointer(lpType)),
|
|
||||||
uintptr(unsafe.Pointer(lpData)),
|
|
||||||
uintptr(unsafe.Pointer(lpcbData)))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegEnumValue(hKey HKEY, index uint32, lpValueName *uint16, lpcchValueName *uint32, lpReserved, lpType *uint32, lpData *byte, lpcbData *uint32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall9(regEnumValue, 8,
|
|
||||||
uintptr(hKey),
|
|
||||||
uintptr(index),
|
|
||||||
uintptr(unsafe.Pointer(lpValueName)),
|
|
||||||
uintptr(unsafe.Pointer(lpcchValueName)),
|
|
||||||
uintptr(unsafe.Pointer(lpReserved)),
|
|
||||||
uintptr(unsafe.Pointer(lpType)),
|
|
||||||
uintptr(unsafe.Pointer(lpData)),
|
|
||||||
uintptr(unsafe.Pointer(lpcbData)),
|
|
||||||
0)
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegSetValueEx(hKey HKEY, lpValueName *uint16, lpReserved, lpDataType uint64, lpData *byte, cbData uint32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(regSetValueEx, 6,
|
|
||||||
uintptr(hKey),
|
|
||||||
uintptr(unsafe.Pointer(lpValueName)),
|
|
||||||
uintptr(lpReserved),
|
|
||||||
uintptr(lpDataType),
|
|
||||||
uintptr(unsafe.Pointer(lpData)),
|
|
||||||
uintptr(cbData))
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
86
vendor/github.com/lxn/win/combobox.go
generated
vendored
86
vendor/github.com/lxn/win/combobox.go
generated
vendored
@ -1,86 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
// ComboBox return values
|
|
||||||
const (
|
|
||||||
CB_OKAY = 0
|
|
||||||
CB_ERR = ^uintptr(0) // -1
|
|
||||||
CB_ERRSPACE = ^uintptr(1) // -2
|
|
||||||
)
|
|
||||||
|
|
||||||
// ComboBox notifications
|
|
||||||
const (
|
|
||||||
CBN_ERRSPACE = -1
|
|
||||||
CBN_SELCHANGE = 1
|
|
||||||
CBN_DBLCLK = 2
|
|
||||||
CBN_SETFOCUS = 3
|
|
||||||
CBN_KILLFOCUS = 4
|
|
||||||
CBN_EDITCHANGE = 5
|
|
||||||
CBN_EDITUPDATE = 6
|
|
||||||
CBN_DROPDOWN = 7
|
|
||||||
CBN_CLOSEUP = 8
|
|
||||||
CBN_SELENDOK = 9
|
|
||||||
CBN_SELENDCANCEL = 10
|
|
||||||
)
|
|
||||||
|
|
||||||
// ComboBox styles
|
|
||||||
const (
|
|
||||||
CBS_SIMPLE = 0x0001
|
|
||||||
CBS_DROPDOWN = 0x0002
|
|
||||||
CBS_DROPDOWNLIST = 0x0003
|
|
||||||
CBS_OWNERDRAWFIXED = 0x0010
|
|
||||||
CBS_OWNERDRAWVARIABLE = 0x0020
|
|
||||||
CBS_AUTOHSCROLL = 0x0040
|
|
||||||
CBS_OEMCONVERT = 0x0080
|
|
||||||
CBS_SORT = 0x0100
|
|
||||||
CBS_HASSTRINGS = 0x0200
|
|
||||||
CBS_NOINTEGRALHEIGHT = 0x0400
|
|
||||||
CBS_DISABLENOSCROLL = 0x0800
|
|
||||||
CBS_UPPERCASE = 0x2000
|
|
||||||
CBS_LOWERCASE = 0x4000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ComboBox messages
|
|
||||||
const (
|
|
||||||
CB_GETEDITSEL = 0x0140
|
|
||||||
CB_LIMITTEXT = 0x0141
|
|
||||||
CB_SETEDITSEL = 0x0142
|
|
||||||
CB_ADDSTRING = 0x0143
|
|
||||||
CB_DELETESTRING = 0x0144
|
|
||||||
CB_DIR = 0x0145
|
|
||||||
CB_GETCOUNT = 0x0146
|
|
||||||
CB_GETCURSEL = 0x0147
|
|
||||||
CB_GETLBTEXT = 0x0148
|
|
||||||
CB_GETLBTEXTLEN = 0x0149
|
|
||||||
CB_INSERTSTRING = 0x014A
|
|
||||||
CB_RESETCONTENT = 0x014B
|
|
||||||
CB_FINDSTRING = 0x014C
|
|
||||||
CB_SELECTSTRING = 0x014D
|
|
||||||
CB_SETCURSEL = 0x014E
|
|
||||||
CB_SHOWDROPDOWN = 0x014F
|
|
||||||
CB_GETITEMDATA = 0x0150
|
|
||||||
CB_SETITEMDATA = 0x0151
|
|
||||||
CB_GETDROPPEDCONTROLRECT = 0x0152
|
|
||||||
CB_SETITEMHEIGHT = 0x0153
|
|
||||||
CB_GETITEMHEIGHT = 0x0154
|
|
||||||
CB_SETEXTENDEDUI = 0x0155
|
|
||||||
CB_GETEXTENDEDUI = 0x0156
|
|
||||||
CB_GETDROPPEDSTATE = 0x0157
|
|
||||||
CB_FINDSTRINGEXACT = 0x0158
|
|
||||||
CB_SETLOCALE = 0x0159
|
|
||||||
CB_GETLOCALE = 0x015A
|
|
||||||
CB_GETTOPINDEX = 0x015b
|
|
||||||
CB_SETTOPINDEX = 0x015c
|
|
||||||
CB_GETHORIZONTALEXTENT = 0x015d
|
|
||||||
CB_SETHORIZONTALEXTENT = 0x015e
|
|
||||||
CB_GETDROPPEDWIDTH = 0x015f
|
|
||||||
CB_SETDROPPEDWIDTH = 0x0160
|
|
||||||
CB_INITSTORAGE = 0x0161
|
|
||||||
CB_MULTIPLEADDSTRING = 0x0163
|
|
||||||
CB_GETCOMBOBOXINFO = 0x0164
|
|
||||||
)
|
|
308
vendor/github.com/lxn/win/comctl32.go
generated
vendored
308
vendor/github.com/lxn/win/comctl32.go
generated
vendored
@ -1,308 +0,0 @@
|
|||||||
// Copyright 2016 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Button control messages
|
|
||||||
const (
|
|
||||||
BCM_FIRST = 0x1600
|
|
||||||
BCM_GETIDEALSIZE = BCM_FIRST + 0x0001
|
|
||||||
BCM_SETIMAGELIST = BCM_FIRST + 0x0002
|
|
||||||
BCM_GETIMAGELIST = BCM_FIRST + 0x0003
|
|
||||||
BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004
|
|
||||||
BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005
|
|
||||||
BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006
|
|
||||||
BCM_SETSPLITINFO = BCM_FIRST + 0x0007
|
|
||||||
BCM_GETSPLITINFO = BCM_FIRST + 0x0008
|
|
||||||
BCM_SETNOTE = BCM_FIRST + 0x0009
|
|
||||||
BCM_GETNOTE = BCM_FIRST + 0x000A
|
|
||||||
BCM_GETNOTELENGTH = BCM_FIRST + 0x000B
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
CCM_FIRST = 0x2000
|
|
||||||
CCM_LAST = CCM_FIRST + 0x200
|
|
||||||
CCM_SETBKCOLOR = 8193
|
|
||||||
CCM_SETCOLORSCHEME = 8194
|
|
||||||
CCM_GETCOLORSCHEME = 8195
|
|
||||||
CCM_GETDROPTARGET = 8196
|
|
||||||
CCM_SETUNICODEFORMAT = 8197
|
|
||||||
CCM_GETUNICODEFORMAT = 8198
|
|
||||||
CCM_SETVERSION = 0x2007
|
|
||||||
CCM_GETVERSION = 0x2008
|
|
||||||
CCM_SETNOTIFYWINDOW = 0x2009
|
|
||||||
CCM_SETWINDOWTHEME = 0x200b
|
|
||||||
CCM_DPISCALE = 0x200c
|
|
||||||
)
|
|
||||||
|
|
||||||
// Common controls styles
|
|
||||||
const (
|
|
||||||
CCS_TOP = 1
|
|
||||||
CCS_NOMOVEY = 2
|
|
||||||
CCS_BOTTOM = 3
|
|
||||||
CCS_NORESIZE = 4
|
|
||||||
CCS_NOPARENTALIGN = 8
|
|
||||||
CCS_ADJUSTABLE = 32
|
|
||||||
CCS_NODIVIDER = 64
|
|
||||||
CCS_VERT = 128
|
|
||||||
CCS_LEFT = 129
|
|
||||||
CCS_NOMOVEX = 130
|
|
||||||
CCS_RIGHT = 131
|
|
||||||
)
|
|
||||||
|
|
||||||
// InitCommonControlsEx flags
|
|
||||||
const (
|
|
||||||
ICC_LISTVIEW_CLASSES = 1
|
|
||||||
ICC_TREEVIEW_CLASSES = 2
|
|
||||||
ICC_BAR_CLASSES = 4
|
|
||||||
ICC_TAB_CLASSES = 8
|
|
||||||
ICC_UPDOWN_CLASS = 16
|
|
||||||
ICC_PROGRESS_CLASS = 32
|
|
||||||
ICC_HOTKEY_CLASS = 64
|
|
||||||
ICC_ANIMATE_CLASS = 128
|
|
||||||
ICC_WIN95_CLASSES = 255
|
|
||||||
ICC_DATE_CLASSES = 256
|
|
||||||
ICC_USEREX_CLASSES = 512
|
|
||||||
ICC_COOL_CLASSES = 1024
|
|
||||||
ICC_INTERNET_CLASSES = 2048
|
|
||||||
ICC_PAGESCROLLER_CLASS = 4096
|
|
||||||
ICC_NATIVEFNTCTL_CLASS = 8192
|
|
||||||
INFOTIPSIZE = 1024
|
|
||||||
ICC_STANDARD_CLASSES = 0x00004000
|
|
||||||
ICC_LINK_CLASS = 0x00008000
|
|
||||||
)
|
|
||||||
|
|
||||||
// WM_NOTITY messages
|
|
||||||
const (
|
|
||||||
NM_FIRST = 0
|
|
||||||
NM_OUTOFMEMORY = ^uint32(0) // NM_FIRST - 1
|
|
||||||
NM_CLICK = ^uint32(1) // NM_FIRST - 2
|
|
||||||
NM_DBLCLK = ^uint32(2) // NM_FIRST - 3
|
|
||||||
NM_RETURN = ^uint32(3) // NM_FIRST - 4
|
|
||||||
NM_RCLICK = ^uint32(4) // NM_FIRST - 5
|
|
||||||
NM_RDBLCLK = ^uint32(5) // NM_FIRST - 6
|
|
||||||
NM_SETFOCUS = ^uint32(6) // NM_FIRST - 7
|
|
||||||
NM_KILLFOCUS = ^uint32(7) // NM_FIRST - 8
|
|
||||||
NM_CUSTOMDRAW = ^uint32(11) // NM_FIRST - 12
|
|
||||||
NM_HOVER = ^uint32(12) // NM_FIRST - 13
|
|
||||||
NM_NCHITTEST = ^uint32(13) // NM_FIRST - 14
|
|
||||||
NM_KEYDOWN = ^uint32(14) // NM_FIRST - 15
|
|
||||||
NM_RELEASEDCAPTURE = ^uint32(15) // NM_FIRST - 16
|
|
||||||
NM_SETCURSOR = ^uint32(16) // NM_FIRST - 17
|
|
||||||
NM_CHAR = ^uint32(17) // NM_FIRST - 18
|
|
||||||
NM_TOOLTIPSCREATED = ^uint32(18) // NM_FIRST - 19
|
|
||||||
NM_LAST = ^uint32(98) // NM_FIRST - 99
|
|
||||||
TRBN_THUMBPOSCHANGING = 0xfffffa22 // TRBN_FIRST - 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// ProgressBar messages
|
|
||||||
const (
|
|
||||||
PBM_SETPOS = WM_USER + 2
|
|
||||||
PBM_DELTAPOS = WM_USER + 3
|
|
||||||
PBM_SETSTEP = WM_USER + 4
|
|
||||||
PBM_STEPIT = WM_USER + 5
|
|
||||||
PBM_SETMARQUEE = WM_USER + 10
|
|
||||||
PBM_SETRANGE32 = 1030
|
|
||||||
PBM_GETRANGE = 1031
|
|
||||||
PBM_GETPOS = 1032
|
|
||||||
PBM_SETBARCOLOR = 1033
|
|
||||||
PBM_SETBKCOLOR = CCM_SETBKCOLOR
|
|
||||||
)
|
|
||||||
|
|
||||||
// ProgressBar styles
|
|
||||||
const (
|
|
||||||
PBS_SMOOTH = 0x01
|
|
||||||
PBS_VERTICAL = 0x04
|
|
||||||
PBS_MARQUEE = 0x08
|
|
||||||
)
|
|
||||||
|
|
||||||
// TrackBar (Slider) messages
|
|
||||||
const (
|
|
||||||
TBM_GETPOS = WM_USER
|
|
||||||
TBM_GETRANGEMIN = WM_USER + 1
|
|
||||||
TBM_GETRANGEMAX = WM_USER + 2
|
|
||||||
TBM_SETPOS = WM_USER + 5
|
|
||||||
TBM_SETRANGEMIN = WM_USER + 7
|
|
||||||
TBM_SETRANGEMAX = WM_USER + 8
|
|
||||||
)
|
|
||||||
|
|
||||||
// TrackBar (Slider) styles
|
|
||||||
const (
|
|
||||||
TBS_VERT = 0x002
|
|
||||||
TBS_TOOLTIPS = 0x100
|
|
||||||
)
|
|
||||||
|
|
||||||
// ImageList creation flags
|
|
||||||
const (
|
|
||||||
ILC_MASK = 0x00000001
|
|
||||||
ILC_COLOR = 0x00000000
|
|
||||||
ILC_COLORDDB = 0x000000FE
|
|
||||||
ILC_COLOR4 = 0x00000004
|
|
||||||
ILC_COLOR8 = 0x00000008
|
|
||||||
ILC_COLOR16 = 0x00000010
|
|
||||||
ILC_COLOR24 = 0x00000018
|
|
||||||
ILC_COLOR32 = 0x00000020
|
|
||||||
ILC_PALETTE = 0x00000800
|
|
||||||
ILC_MIRROR = 0x00002000
|
|
||||||
ILC_PERITEMMIRROR = 0x00008000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
CDDS_PREPAINT = 0x00000001
|
|
||||||
CDDS_POSTPAINT = 0x00000002
|
|
||||||
CDDS_PREERASE = 0x00000003
|
|
||||||
CDDS_POSTERASE = 0x00000004
|
|
||||||
CDDS_ITEM = 0x00010000
|
|
||||||
CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT
|
|
||||||
CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT
|
|
||||||
CDDS_ITEMPREERASE = CDDS_ITEM | CDDS_PREERASE
|
|
||||||
CDDS_ITEMPOSTERASE = CDDS_ITEM | CDDS_POSTERASE
|
|
||||||
CDDS_SUBITEM = 0x00020000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
CDIS_SELECTED = 0x0001
|
|
||||||
CDIS_GRAYED = 0x0002
|
|
||||||
CDIS_DISABLED = 0x0004
|
|
||||||
CDIS_CHECKED = 0x0008
|
|
||||||
CDIS_FOCUS = 0x0010
|
|
||||||
CDIS_DEFAULT = 0x0020
|
|
||||||
CDIS_HOT = 0x0040
|
|
||||||
CDIS_MARKED = 0x0080
|
|
||||||
CDIS_INDETERMINATE = 0x0100
|
|
||||||
CDIS_SHOWKEYBOARDCUES = 0x0200
|
|
||||||
CDIS_NEARHOT = 0x0400
|
|
||||||
CDIS_OTHERSIDEHOT = 0x0800
|
|
||||||
CDIS_DROPHILITED = 0x1000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
CDRF_DODEFAULT = 0x00000000
|
|
||||||
CDRF_NEWFONT = 0x00000002
|
|
||||||
CDRF_SKIPDEFAULT = 0x00000004
|
|
||||||
CDRF_DOERASE = 0x00000008
|
|
||||||
CDRF_NOTIFYPOSTPAINT = 0x00000010
|
|
||||||
CDRF_NOTIFYITEMDRAW = 0x00000020
|
|
||||||
CDRF_NOTIFYSUBITEMDRAW = 0x00000020
|
|
||||||
CDRF_NOTIFYPOSTERASE = 0x00000040
|
|
||||||
CDRF_SKIPPOSTPAINT = 0x00000100
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
LPSTR_TEXTCALLBACK = ^uintptr(0)
|
|
||||||
I_CHILDRENCALLBACK = -1
|
|
||||||
)
|
|
||||||
|
|
||||||
type HIMAGELIST HANDLE
|
|
||||||
|
|
||||||
type INITCOMMONCONTROLSEX struct {
|
|
||||||
DwSize, DwICC uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMCUSTOMDRAW struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
DwDrawStage uint32
|
|
||||||
Hdc HDC
|
|
||||||
Rc RECT
|
|
||||||
DwItemSpec uintptr
|
|
||||||
UItemState uint32
|
|
||||||
LItemlParam uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libcomctl32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
imageList_Add uintptr
|
|
||||||
imageList_AddMasked uintptr
|
|
||||||
imageList_Create uintptr
|
|
||||||
imageList_Destroy uintptr
|
|
||||||
imageList_ReplaceIcon uintptr
|
|
||||||
initCommonControlsEx uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libcomctl32 = MustLoadLibrary("comctl32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
imageList_Add = MustGetProcAddress(libcomctl32, "ImageList_Add")
|
|
||||||
imageList_AddMasked = MustGetProcAddress(libcomctl32, "ImageList_AddMasked")
|
|
||||||
imageList_Create = MustGetProcAddress(libcomctl32, "ImageList_Create")
|
|
||||||
imageList_Destroy = MustGetProcAddress(libcomctl32, "ImageList_Destroy")
|
|
||||||
imageList_ReplaceIcon = MustGetProcAddress(libcomctl32, "ImageList_ReplaceIcon")
|
|
||||||
initCommonControlsEx = MustGetProcAddress(libcomctl32, "InitCommonControlsEx")
|
|
||||||
|
|
||||||
// Initialize the common controls we support
|
|
||||||
var initCtrls INITCOMMONCONTROLSEX
|
|
||||||
initCtrls.DwSize = uint32(unsafe.Sizeof(initCtrls))
|
|
||||||
initCtrls.DwICC = ICC_LINK_CLASS | ICC_LISTVIEW_CLASSES | ICC_PROGRESS_CLASS | ICC_TAB_CLASSES | ICC_TREEVIEW_CLASSES
|
|
||||||
|
|
||||||
InitCommonControlsEx(&initCtrls)
|
|
||||||
}
|
|
||||||
|
|
||||||
func ImageList_Add(himl HIMAGELIST, hbmImage, hbmMask HBITMAP) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall(imageList_Add, 3,
|
|
||||||
uintptr(himl),
|
|
||||||
uintptr(hbmImage),
|
|
||||||
uintptr(hbmMask))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func ImageList_AddMasked(himl HIMAGELIST, hbmImage HBITMAP, crMask COLORREF) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall(imageList_AddMasked, 3,
|
|
||||||
uintptr(himl),
|
|
||||||
uintptr(hbmImage),
|
|
||||||
uintptr(crMask))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func ImageList_Create(cx, cy int32, flags uint32, cInitial, cGrow int32) HIMAGELIST {
|
|
||||||
ret, _, _ := syscall.Syscall6(imageList_Create, 5,
|
|
||||||
uintptr(cx),
|
|
||||||
uintptr(cy),
|
|
||||||
uintptr(flags),
|
|
||||||
uintptr(cInitial),
|
|
||||||
uintptr(cGrow),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HIMAGELIST(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func ImageList_Destroy(hIml HIMAGELIST) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(imageList_Destroy, 1,
|
|
||||||
uintptr(hIml),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func ImageList_ReplaceIcon(himl HIMAGELIST, i int32, hicon HICON) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall(imageList_ReplaceIcon, 3,
|
|
||||||
uintptr(himl),
|
|
||||||
uintptr(i),
|
|
||||||
uintptr(hicon))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func InitCommonControlsEx(lpInitCtrls *INITCOMMONCONTROLSEX) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(initCommonControlsEx, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpInitCtrls)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
299
vendor/github.com/lxn/win/comdlg32.go
generated
vendored
299
vendor/github.com/lxn/win/comdlg32.go
generated
vendored
@ -1,299 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Common error codes
|
|
||||||
const (
|
|
||||||
CDERR_DIALOGFAILURE = 0xFFFF
|
|
||||||
CDERR_FINDRESFAILURE = 0x0006
|
|
||||||
CDERR_INITIALIZATION = 0x0002
|
|
||||||
CDERR_LOADRESFAILURE = 0x0007
|
|
||||||
CDERR_LOADSTRFAILURE = 0x0005
|
|
||||||
CDERR_LOCKRESFAILURE = 0x0008
|
|
||||||
CDERR_MEMALLOCFAILURE = 0x0009
|
|
||||||
CDERR_MEMLOCKFAILURE = 0x000A
|
|
||||||
CDERR_NOHINSTANCE = 0x0004
|
|
||||||
CDERR_NOHOOK = 0x000B
|
|
||||||
CDERR_NOTEMPLATE = 0x0003
|
|
||||||
CDERR_REGISTERMSGFAIL = 0x000C
|
|
||||||
CDERR_STRUCTSIZE = 0x0001
|
|
||||||
)
|
|
||||||
|
|
||||||
// CHOOSECOLOR flags
|
|
||||||
const (
|
|
||||||
CC_ANYCOLOR = 0x00000100
|
|
||||||
CC_ENABLEHOOK = 0x00000010
|
|
||||||
CC_ENABLETEMPLATE = 0x00000020
|
|
||||||
CC_ENABLETEMPLATEHANDLE = 0x00000040
|
|
||||||
CC_FULLOPEN = 0x00000002
|
|
||||||
CC_PREVENTFULLOPEN = 0x00000004
|
|
||||||
CC_RGBINIT = 0x00000001
|
|
||||||
CC_SHOWHELP = 0x00000008
|
|
||||||
CC_SOLIDCOLOR = 0x00000080
|
|
||||||
)
|
|
||||||
|
|
||||||
type CHOOSECOLOR struct {
|
|
||||||
LStructSize uint32
|
|
||||||
HwndOwner HWND
|
|
||||||
HInstance HWND
|
|
||||||
RgbResult COLORREF
|
|
||||||
LpCustColors *COLORREF
|
|
||||||
Flags uint32
|
|
||||||
LCustData uintptr
|
|
||||||
LpfnHook uintptr
|
|
||||||
LpTemplateName *uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
// PrintDlg specific error codes
|
|
||||||
const (
|
|
||||||
PDERR_CREATEICFAILURE = 0x100A
|
|
||||||
PDERR_DEFAULTDIFFERENT = 0x100C
|
|
||||||
PDERR_DNDMMISMATCH = 0x1009
|
|
||||||
PDERR_GETDEVMODEFAIL = 0x1005
|
|
||||||
PDERR_INITFAILURE = 0x1006
|
|
||||||
PDERR_LOADDRVFAILURE = 0x1004
|
|
||||||
PDERR_NODEFAULTPRN = 0x1008
|
|
||||||
PDERR_NODEVICES = 0x1007
|
|
||||||
PDERR_PARSEFAILURE = 0x1002
|
|
||||||
PDERR_PRINTERNOTFOUND = 0x100B
|
|
||||||
PDERR_RETDEFFAILURE = 0x1003
|
|
||||||
PDERR_SETUPFAILURE = 0x1001
|
|
||||||
)
|
|
||||||
|
|
||||||
// ChooseFont specific error codes
|
|
||||||
const (
|
|
||||||
CFERR_MAXLESSTHANMIN = 0x2002
|
|
||||||
CFERR_NOFONTS = 0x2001
|
|
||||||
)
|
|
||||||
|
|
||||||
// GetOpenFileName and GetSaveFileName specific error codes
|
|
||||||
const (
|
|
||||||
FNERR_BUFFERTOOSMALL = 0x3003
|
|
||||||
FNERR_INVALIDFILENAME = 0x3002
|
|
||||||
FNERR_SUBCLASSFAILURE = 0x3001
|
|
||||||
)
|
|
||||||
|
|
||||||
// FindText and ReplaceText specific error codes
|
|
||||||
const (
|
|
||||||
FRERR_BUFFERLENGTHZERO = 0x4001
|
|
||||||
)
|
|
||||||
|
|
||||||
// GetOpenFileName and GetSaveFileName flags
|
|
||||||
const (
|
|
||||||
OFN_ALLOWMULTISELECT = 0x00000200
|
|
||||||
OFN_CREATEPROMPT = 0x00002000
|
|
||||||
OFN_DONTADDTORECENT = 0x02000000
|
|
||||||
OFN_ENABLEHOOK = 0x00000020
|
|
||||||
OFN_ENABLEINCLUDENOTIFY = 0x00400000
|
|
||||||
OFN_ENABLESIZING = 0x00800000
|
|
||||||
OFN_ENABLETEMPLATE = 0x00000040
|
|
||||||
OFN_ENABLETEMPLATEHANDLE = 0x00000080
|
|
||||||
OFN_EXPLORER = 0x00080000
|
|
||||||
OFN_EXTENSIONDIFFERENT = 0x00000400
|
|
||||||
OFN_FILEMUSTEXIST = 0x00001000
|
|
||||||
OFN_FORCESHOWHIDDEN = 0x10000000
|
|
||||||
OFN_HIDEREADONLY = 0x00000004
|
|
||||||
OFN_LONGNAMES = 0x00200000
|
|
||||||
OFN_NOCHANGEDIR = 0x00000008
|
|
||||||
OFN_NODEREFERENCELINKS = 0x00100000
|
|
||||||
OFN_NOLONGNAMES = 0x00040000
|
|
||||||
OFN_NONETWORKBUTTON = 0x00020000
|
|
||||||
OFN_NOREADONLYRETURN = 0x00008000
|
|
||||||
OFN_NOTESTFILECREATE = 0x00010000
|
|
||||||
OFN_NOVALIDATE = 0x00000100
|
|
||||||
OFN_OVERWRITEPROMPT = 0x00000002
|
|
||||||
OFN_PATHMUSTEXIST = 0x00000800
|
|
||||||
OFN_READONLY = 0x00000001
|
|
||||||
OFN_SHAREAWARE = 0x00004000
|
|
||||||
OFN_SHOWHELP = 0x00000010
|
|
||||||
)
|
|
||||||
|
|
||||||
// GetOpenFileName and GetSaveFileName extended flags
|
|
||||||
const (
|
|
||||||
OFN_EX_NOPLACESBAR = 0x00000001
|
|
||||||
)
|
|
||||||
|
|
||||||
// PrintDlg[Ex] result actions
|
|
||||||
const (
|
|
||||||
PD_RESULT_APPLY = 2
|
|
||||||
PD_RESULT_CANCEL = 0
|
|
||||||
PD_RESULT_PRINT = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// PrintDlg[Ex] flags
|
|
||||||
const (
|
|
||||||
PD_ALLPAGES = 0x00000000
|
|
||||||
PD_COLLATE = 0x00000010
|
|
||||||
PD_CURRENTPAGE = 0x00400000
|
|
||||||
PD_DISABLEPRINTTOFILE = 0x00080000
|
|
||||||
PD_ENABLEPRINTTEMPLATE = 0x00004000
|
|
||||||
PD_ENABLEPRINTTEMPLATEHANDLE = 0x00010000
|
|
||||||
PD_EXCLUSIONFLAGS = 0x01000000
|
|
||||||
PD_HIDEPRINTTOFILE = 0x00100000
|
|
||||||
PD_NOCURRENTPAGE = 0x00800000
|
|
||||||
PD_NOPAGENUMS = 0x00000008
|
|
||||||
PD_NOSELECTION = 0x00000004
|
|
||||||
PD_NOWARNING = 0x00000080
|
|
||||||
PD_PAGENUMS = 0x00000002
|
|
||||||
PD_PRINTTOFILE = 0x00000020
|
|
||||||
PD_RETURNDC = 0x00000100
|
|
||||||
PD_RETURNDEFAULT = 0x00000400
|
|
||||||
PD_RETURNIC = 0x00000200
|
|
||||||
PD_SELECTION = 0x00000001
|
|
||||||
PD_USEDEVMODECOPIES = 0x00040000
|
|
||||||
PD_USEDEVMODECOPIESANDCOLLATE = 0x00040000
|
|
||||||
PD_USELARGETEMPLATE = 0x10000000
|
|
||||||
)
|
|
||||||
|
|
||||||
// PrintDlgEx exclusion flags
|
|
||||||
const (
|
|
||||||
PD_EXCL_COPIESANDCOLLATE = DM_COPIES | DM_COLLATE
|
|
||||||
)
|
|
||||||
|
|
||||||
const START_PAGE_GENERAL = 0xffffffff
|
|
||||||
|
|
||||||
type (
|
|
||||||
LPOFNHOOKPROC uintptr
|
|
||||||
HPROPSHEETPAGE HANDLE
|
|
||||||
LPUNKNOWN uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
type OPENFILENAME struct {
|
|
||||||
LStructSize uint32
|
|
||||||
HwndOwner HWND
|
|
||||||
HInstance HINSTANCE
|
|
||||||
LpstrFilter *uint16
|
|
||||||
LpstrCustomFilter *uint16
|
|
||||||
NMaxCustFilter uint32
|
|
||||||
NFilterIndex uint32
|
|
||||||
LpstrFile *uint16
|
|
||||||
NMaxFile uint32
|
|
||||||
LpstrFileTitle *uint16
|
|
||||||
NMaxFileTitle uint32
|
|
||||||
LpstrInitialDir *uint16
|
|
||||||
LpstrTitle *uint16
|
|
||||||
Flags uint32
|
|
||||||
NFileOffset uint16
|
|
||||||
NFileExtension uint16
|
|
||||||
LpstrDefExt *uint16
|
|
||||||
LCustData uintptr
|
|
||||||
LpfnHook LPOFNHOOKPROC
|
|
||||||
LpTemplateName *uint16
|
|
||||||
PvReserved unsafe.Pointer
|
|
||||||
DwReserved uint32
|
|
||||||
FlagsEx uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type PRINTPAGERANGE struct {
|
|
||||||
NFromPage uint32
|
|
||||||
NToPage uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type DEVNAMES struct {
|
|
||||||
WDriverOffset uint16
|
|
||||||
WDeviceOffset uint16
|
|
||||||
WOutputOffset uint16
|
|
||||||
WDefault uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
type PRINTDLGEX struct {
|
|
||||||
LStructSize uint32
|
|
||||||
HwndOwner HWND
|
|
||||||
HDevMode HGLOBAL
|
|
||||||
HDevNames HGLOBAL
|
|
||||||
HDC HDC
|
|
||||||
Flags uint32
|
|
||||||
Flags2 uint32
|
|
||||||
ExclusionFlags uint32
|
|
||||||
NPageRanges uint32
|
|
||||||
NMaxPageRanges uint32
|
|
||||||
LpPageRanges *PRINTPAGERANGE
|
|
||||||
NMinPage uint32
|
|
||||||
NMaxPage uint32
|
|
||||||
NCopies uint32
|
|
||||||
HInstance HINSTANCE
|
|
||||||
LpPrintTemplateName *uint16
|
|
||||||
LpCallback LPUNKNOWN
|
|
||||||
NPropertyPages uint32
|
|
||||||
LphPropertyPages *HPROPSHEETPAGE
|
|
||||||
NStartPage uint32
|
|
||||||
DwResultAction uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libcomdlg32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
chooseColor uintptr
|
|
||||||
commDlgExtendedError uintptr
|
|
||||||
getOpenFileName uintptr
|
|
||||||
getSaveFileName uintptr
|
|
||||||
printDlgEx uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libcomdlg32 = MustLoadLibrary("comdlg32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
chooseColor = MustGetProcAddress(libcomdlg32, "ChooseColorW")
|
|
||||||
commDlgExtendedError = MustGetProcAddress(libcomdlg32, "CommDlgExtendedError")
|
|
||||||
getOpenFileName = MustGetProcAddress(libcomdlg32, "GetOpenFileNameW")
|
|
||||||
getSaveFileName = MustGetProcAddress(libcomdlg32, "GetSaveFileNameW")
|
|
||||||
printDlgEx = MustGetProcAddress(libcomdlg32, "PrintDlgExW")
|
|
||||||
}
|
|
||||||
|
|
||||||
func ChooseColor(lpcc *CHOOSECOLOR) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(chooseColor, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpcc)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func CommDlgExtendedError() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(commDlgExtendedError, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetOpenFileName(lpofn *OPENFILENAME) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(getOpenFileName, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpofn)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetSaveFileName(lpofn *OPENFILENAME) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(getSaveFileName, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpofn)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func PrintDlgEx(lppd *PRINTDLGEX) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(printDlgEx, 1,
|
|
||||||
uintptr(unsafe.Pointer(lppd)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
96
vendor/github.com/lxn/win/datetimepicker.go
generated
vendored
96
vendor/github.com/lxn/win/datetimepicker.go
generated
vendored
@ -1,96 +0,0 @@
|
|||||||
// Copyright 2011 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
|
|
||||||
|
|
||||||
const DTM_FIRST = 0x1000
|
|
||||||
const DTN_FIRST = ^uint32(739) // -740
|
|
||||||
const DTN_FIRST2 = ^uint32(752) // -753
|
|
||||||
|
|
||||||
const (
|
|
||||||
GDTR_MIN = 0x0001
|
|
||||||
GDTR_MAX = 0x0002
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
GDT_ERROR = -1
|
|
||||||
GDT_VALID = 0
|
|
||||||
GDT_NONE = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// Messages
|
|
||||||
const (
|
|
||||||
DTM_GETSYSTEMTIME = DTM_FIRST + 1
|
|
||||||
DTM_SETSYSTEMTIME = DTM_FIRST + 2
|
|
||||||
DTM_GETRANGE = DTM_FIRST + 3
|
|
||||||
DTM_SETRANGE = DTM_FIRST + 4
|
|
||||||
DTM_SETFORMAT = DTM_FIRST + 50
|
|
||||||
DTM_SETMCCOLOR = DTM_FIRST + 6
|
|
||||||
DTM_GETMCCOLOR = DTM_FIRST + 7
|
|
||||||
DTM_GETMONTHCAL = DTM_FIRST + 8
|
|
||||||
DTM_SETMCFONT = DTM_FIRST + 9
|
|
||||||
DTM_GETMCFONT = DTM_FIRST + 10
|
|
||||||
)
|
|
||||||
|
|
||||||
// Styles
|
|
||||||
const (
|
|
||||||
DTS_UPDOWN = 0x0001
|
|
||||||
DTS_SHOWNONE = 0x0002
|
|
||||||
DTS_SHORTDATEFORMAT = 0x0000
|
|
||||||
DTS_LONGDATEFORMAT = 0x0004
|
|
||||||
DTS_SHORTDATECENTURYFORMAT = 0x000C
|
|
||||||
DTS_TIMEFORMAT = 0x0009
|
|
||||||
DTS_APPCANPARSE = 0x0010
|
|
||||||
DTS_RIGHTALIGN = 0x0020
|
|
||||||
)
|
|
||||||
|
|
||||||
// Notifications
|
|
||||||
const (
|
|
||||||
DTN_DATETIMECHANGE = DTN_FIRST2 - 6
|
|
||||||
DTN_USERSTRING = DTN_FIRST - 5
|
|
||||||
DTN_WMKEYDOWN = DTN_FIRST - 4
|
|
||||||
DTN_FORMAT = DTN_FIRST - 3
|
|
||||||
DTN_FORMATQUERY = DTN_FIRST - 2
|
|
||||||
DTN_DROPDOWN = DTN_FIRST2 - 1
|
|
||||||
DTN_CLOSEUP = DTN_FIRST2
|
|
||||||
)
|
|
||||||
|
|
||||||
// Structs
|
|
||||||
type (
|
|
||||||
NMDATETIMECHANGE struct {
|
|
||||||
Nmhdr NMHDR
|
|
||||||
DwFlags uint32
|
|
||||||
St SYSTEMTIME
|
|
||||||
}
|
|
||||||
|
|
||||||
NMDATETIMESTRING struct {
|
|
||||||
Nmhdr NMHDR
|
|
||||||
PszUserString *uint16
|
|
||||||
St SYSTEMTIME
|
|
||||||
DwFlags uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
NMDATETIMEWMKEYDOWN struct {
|
|
||||||
Nmhdr NMHDR
|
|
||||||
NVirtKey int
|
|
||||||
PszFormat *uint16
|
|
||||||
St SYSTEMTIME
|
|
||||||
}
|
|
||||||
|
|
||||||
NMDATETIMEFORMAT struct {
|
|
||||||
Nmhdr NMHDR
|
|
||||||
PszFormat *uint16
|
|
||||||
St SYSTEMTIME
|
|
||||||
PszDisplay *uint16
|
|
||||||
SzDisplay [64]uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
NMDATETIMEFORMATQUERY struct {
|
|
||||||
Nmhdr NMHDR
|
|
||||||
PszFormat *uint16
|
|
||||||
SzMax SIZE
|
|
||||||
}
|
|
||||||
)
|
|
84
vendor/github.com/lxn/win/edit.go
generated
vendored
84
vendor/github.com/lxn/win/edit.go
generated
vendored
@ -1,84 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
// Edit styles
|
|
||||||
const (
|
|
||||||
ES_LEFT = 0x0000
|
|
||||||
ES_CENTER = 0x0001
|
|
||||||
ES_RIGHT = 0x0002
|
|
||||||
ES_MULTILINE = 0x0004
|
|
||||||
ES_UPPERCASE = 0x0008
|
|
||||||
ES_LOWERCASE = 0x0010
|
|
||||||
ES_PASSWORD = 0x0020
|
|
||||||
ES_AUTOVSCROLL = 0x0040
|
|
||||||
ES_AUTOHSCROLL = 0x0080
|
|
||||||
ES_NOHIDESEL = 0x0100
|
|
||||||
ES_OEMCONVERT = 0x0400
|
|
||||||
ES_READONLY = 0x0800
|
|
||||||
ES_WANTRETURN = 0x1000
|
|
||||||
ES_NUMBER = 0x2000
|
|
||||||
)
|
|
||||||
|
|
||||||
// Edit notifications
|
|
||||||
const (
|
|
||||||
EN_SETFOCUS = 0x0100
|
|
||||||
EN_KILLFOCUS = 0x0200
|
|
||||||
EN_CHANGE = 0x0300
|
|
||||||
EN_UPDATE = 0x0400
|
|
||||||
EN_ERRSPACE = 0x0500
|
|
||||||
EN_MAXTEXT = 0x0501
|
|
||||||
EN_HSCROLL = 0x0601
|
|
||||||
EN_VSCROLL = 0x0602
|
|
||||||
EN_ALIGN_LTR_EC = 0x0700
|
|
||||||
EN_ALIGN_RTL_EC = 0x0701
|
|
||||||
)
|
|
||||||
|
|
||||||
// Edit messages
|
|
||||||
const (
|
|
||||||
EM_GETSEL = 0x00B0
|
|
||||||
EM_SETSEL = 0x00B1
|
|
||||||
EM_GETRECT = 0x00B2
|
|
||||||
EM_SETRECT = 0x00B3
|
|
||||||
EM_SETRECTNP = 0x00B4
|
|
||||||
EM_SCROLL = 0x00B5
|
|
||||||
EM_LINESCROLL = 0x00B6
|
|
||||||
EM_SCROLLCARET = 0x00B7
|
|
||||||
EM_GETMODIFY = 0x00B8
|
|
||||||
EM_SETMODIFY = 0x00B9
|
|
||||||
EM_GETLINECOUNT = 0x00BA
|
|
||||||
EM_LINEINDEX = 0x00BB
|
|
||||||
EM_SETHANDLE = 0x00BC
|
|
||||||
EM_GETHANDLE = 0x00BD
|
|
||||||
EM_GETTHUMB = 0x00BE
|
|
||||||
EM_LINELENGTH = 0x00C1
|
|
||||||
EM_REPLACESEL = 0x00C2
|
|
||||||
EM_GETLINE = 0x00C4
|
|
||||||
EM_LIMITTEXT = 0x00C5
|
|
||||||
EM_CANUNDO = 0x00C6
|
|
||||||
EM_UNDO = 0x00C7
|
|
||||||
EM_FMTLINES = 0x00C8
|
|
||||||
EM_LINEFROMCHAR = 0x00C9
|
|
||||||
EM_SETTABSTOPS = 0x00CB
|
|
||||||
EM_SETPASSWORDCHAR = 0x00CC
|
|
||||||
EM_EMPTYUNDOBUFFER = 0x00CD
|
|
||||||
EM_GETFIRSTVISIBLELINE = 0x00CE
|
|
||||||
EM_SETREADONLY = 0x00CF
|
|
||||||
EM_SETWORDBREAKPROC = 0x00D0
|
|
||||||
EM_GETWORDBREAKPROC = 0x00D1
|
|
||||||
EM_GETPASSWORDCHAR = 0x00D2
|
|
||||||
EM_SETMARGINS = 0x00D3
|
|
||||||
EM_GETMARGINS = 0x00D4
|
|
||||||
EM_SETLIMITTEXT = EM_LIMITTEXT
|
|
||||||
EM_GETLIMITTEXT = 0x00D5
|
|
||||||
EM_POSFROMCHAR = 0x00D6
|
|
||||||
EM_CHARFROMPOS = 0x00D7
|
|
||||||
EM_SETIMESTATUS = 0x00D8
|
|
||||||
EM_GETIMESTATUS = 0x00D9
|
|
||||||
EM_SETCUEBANNER = 0x1501
|
|
||||||
EM_GETCUEBANNER = 0x1502
|
|
||||||
)
|
|
1808
vendor/github.com/lxn/win/gdi32.go
generated
vendored
1808
vendor/github.com/lxn/win/gdi32.go
generated
vendored
File diff suppressed because it is too large
Load Diff
223
vendor/github.com/lxn/win/gdiplus.go
generated
vendored
223
vendor/github.com/lxn/win/gdiplus.go
generated
vendored
@ -1,223 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GpStatus int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
Ok GpStatus = 0
|
|
||||||
GenericError GpStatus = 1
|
|
||||||
InvalidParameter GpStatus = 2
|
|
||||||
OutOfMemory GpStatus = 3
|
|
||||||
ObjectBusy GpStatus = 4
|
|
||||||
InsufficientBuffer GpStatus = 5
|
|
||||||
NotImplemented GpStatus = 6
|
|
||||||
Win32Error GpStatus = 7
|
|
||||||
WrongState GpStatus = 8
|
|
||||||
Aborted GpStatus = 9
|
|
||||||
FileNotFound GpStatus = 10
|
|
||||||
ValueOverflow GpStatus = 11
|
|
||||||
AccessDenied GpStatus = 12
|
|
||||||
UnknownImageFormat GpStatus = 13
|
|
||||||
FontFamilyNotFound GpStatus = 14
|
|
||||||
FontStyleNotFound GpStatus = 15
|
|
||||||
NotTrueTypeFont GpStatus = 16
|
|
||||||
UnsupportedGdiplusVersion GpStatus = 17
|
|
||||||
GdiplusNotInitialized GpStatus = 18
|
|
||||||
PropertyNotFound GpStatus = 19
|
|
||||||
PropertyNotSupported GpStatus = 20
|
|
||||||
ProfileNotFound GpStatus = 21
|
|
||||||
)
|
|
||||||
|
|
||||||
func (s GpStatus) String() string {
|
|
||||||
switch s {
|
|
||||||
case Ok:
|
|
||||||
return "Ok"
|
|
||||||
|
|
||||||
case GenericError:
|
|
||||||
return "GenericError"
|
|
||||||
|
|
||||||
case InvalidParameter:
|
|
||||||
return "InvalidParameter"
|
|
||||||
|
|
||||||
case OutOfMemory:
|
|
||||||
return "OutOfMemory"
|
|
||||||
|
|
||||||
case ObjectBusy:
|
|
||||||
return "ObjectBusy"
|
|
||||||
|
|
||||||
case InsufficientBuffer:
|
|
||||||
return "InsufficientBuffer"
|
|
||||||
|
|
||||||
case NotImplemented:
|
|
||||||
return "NotImplemented"
|
|
||||||
|
|
||||||
case Win32Error:
|
|
||||||
return "Win32Error"
|
|
||||||
|
|
||||||
case WrongState:
|
|
||||||
return "WrongState"
|
|
||||||
|
|
||||||
case Aborted:
|
|
||||||
return "Aborted"
|
|
||||||
|
|
||||||
case FileNotFound:
|
|
||||||
return "FileNotFound"
|
|
||||||
|
|
||||||
case ValueOverflow:
|
|
||||||
return "ValueOverflow"
|
|
||||||
|
|
||||||
case AccessDenied:
|
|
||||||
return "AccessDenied"
|
|
||||||
|
|
||||||
case UnknownImageFormat:
|
|
||||||
return "UnknownImageFormat"
|
|
||||||
|
|
||||||
case FontFamilyNotFound:
|
|
||||||
return "FontFamilyNotFound"
|
|
||||||
|
|
||||||
case FontStyleNotFound:
|
|
||||||
return "FontStyleNotFound"
|
|
||||||
|
|
||||||
case NotTrueTypeFont:
|
|
||||||
return "NotTrueTypeFont"
|
|
||||||
|
|
||||||
case UnsupportedGdiplusVersion:
|
|
||||||
return "UnsupportedGdiplusVersion"
|
|
||||||
|
|
||||||
case GdiplusNotInitialized:
|
|
||||||
return "GdiplusNotInitialized"
|
|
||||||
|
|
||||||
case PropertyNotFound:
|
|
||||||
return "PropertyNotFound"
|
|
||||||
|
|
||||||
case PropertyNotSupported:
|
|
||||||
return "PropertyNotSupported"
|
|
||||||
|
|
||||||
case ProfileNotFound:
|
|
||||||
return "ProfileNotFound"
|
|
||||||
}
|
|
||||||
|
|
||||||
return "Unknown Status Value"
|
|
||||||
}
|
|
||||||
|
|
||||||
type GdiplusStartupInput struct {
|
|
||||||
GdiplusVersion uint32
|
|
||||||
DebugEventCallback uintptr
|
|
||||||
SuppressBackgroundThread BOOL
|
|
||||||
SuppressExternalCodecs BOOL
|
|
||||||
}
|
|
||||||
|
|
||||||
type GdiplusStartupOutput struct {
|
|
||||||
NotificationHook uintptr
|
|
||||||
NotificationUnhook uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type GpImage struct{}
|
|
||||||
|
|
||||||
type GpBitmap GpImage
|
|
||||||
|
|
||||||
type ARGB uint32
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libgdiplus uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
gdipCreateBitmapFromFile uintptr
|
|
||||||
gdipCreateBitmapFromHBITMAP uintptr
|
|
||||||
gdipCreateHBITMAPFromBitmap uintptr
|
|
||||||
gdipDisposeImage uintptr
|
|
||||||
gdiplusShutdown uintptr
|
|
||||||
gdiplusStartup uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
token uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libgdiplus = MustLoadLibrary("gdiplus.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
gdipCreateBitmapFromFile = MustGetProcAddress(libgdiplus, "GdipCreateBitmapFromFile")
|
|
||||||
gdipCreateBitmapFromHBITMAP = MustGetProcAddress(libgdiplus, "GdipCreateBitmapFromHBITMAP")
|
|
||||||
gdipCreateHBITMAPFromBitmap = MustGetProcAddress(libgdiplus, "GdipCreateHBITMAPFromBitmap")
|
|
||||||
gdipDisposeImage = MustGetProcAddress(libgdiplus, "GdipDisposeImage")
|
|
||||||
gdiplusShutdown = MustGetProcAddress(libgdiplus, "GdiplusShutdown")
|
|
||||||
gdiplusStartup = MustGetProcAddress(libgdiplus, "GdiplusStartup")
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdipCreateBitmapFromFile(filename *uint16, bitmap **GpBitmap) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall(gdipCreateBitmapFromFile, 2,
|
|
||||||
uintptr(unsafe.Pointer(filename)),
|
|
||||||
uintptr(unsafe.Pointer(bitmap)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdipCreateBitmapFromHBITMAP(hbm HBITMAP, hpal HPALETTE, bitmap **GpBitmap) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall(gdipCreateBitmapFromHBITMAP, 3,
|
|
||||||
uintptr(hbm),
|
|
||||||
uintptr(hpal),
|
|
||||||
uintptr(unsafe.Pointer(bitmap)))
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdipCreateHBITMAPFromBitmap(bitmap *GpBitmap, hbmReturn *HBITMAP, background ARGB) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall(gdipCreateHBITMAPFromBitmap, 3,
|
|
||||||
uintptr(unsafe.Pointer(bitmap)),
|
|
||||||
uintptr(unsafe.Pointer(hbmReturn)),
|
|
||||||
uintptr(background))
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdipDisposeImage(image *GpImage) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall(gdipDisposeImage, 1,
|
|
||||||
uintptr(unsafe.Pointer(image)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdiplusShutdown() {
|
|
||||||
syscall.Syscall(gdiplusShutdown, 1,
|
|
||||||
token,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GdiplusStartup(input *GdiplusStartupInput, output *GdiplusStartupOutput) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall(gdiplusStartup, 3,
|
|
||||||
uintptr(unsafe.Pointer(&token)),
|
|
||||||
uintptr(unsafe.Pointer(input)),
|
|
||||||
uintptr(unsafe.Pointer(output)))
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
/*GdipSaveImageToFile(image *GpImage, filename *uint16, clsidEncoder *CLSID, encoderParams *EncoderParameters) GpStatus {
|
|
||||||
ret, _, _ := syscall.Syscall6(gdipSaveImageToFile, 4,
|
|
||||||
uintptr(unsafe.Pointer(image)),
|
|
||||||
uintptr(unsafe.Pointer(filename)),
|
|
||||||
uintptr(unsafe.Pointer(clsidEncoder)),
|
|
||||||
uintptr(unsafe.Pointer(encoderParams)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return GpStatus(ret)
|
|
||||||
}*/
|
|
40
vendor/github.com/lxn/win/header.go
generated
vendored
40
vendor/github.com/lxn/win/header.go
generated
vendored
@ -1,40 +0,0 @@
|
|||||||
// 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
|
|
||||||
|
|
||||||
const (
|
|
||||||
HDF_SORTDOWN = 0x200
|
|
||||||
HDF_SORTUP = 0x400
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
HDI_FORMAT = 4
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
HDM_FIRST = 0x1200
|
|
||||||
HDM_GETITEM = HDM_FIRST + 11
|
|
||||||
HDM_SETITEM = HDM_FIRST + 12
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
HDS_NOSIZING = 0x0800
|
|
||||||
)
|
|
||||||
|
|
||||||
type HDITEM struct {
|
|
||||||
Mask uint32
|
|
||||||
Cxy int32
|
|
||||||
PszText *uint16
|
|
||||||
Hbm HBITMAP
|
|
||||||
CchTextMax int32
|
|
||||||
Fmt int32
|
|
||||||
LParam uintptr
|
|
||||||
IImage int32
|
|
||||||
IOrder int32
|
|
||||||
Type uint32
|
|
||||||
PvFilter uintptr
|
|
||||||
}
|
|
352
vendor/github.com/lxn/win/kernel32.go
generated
vendored
352
vendor/github.com/lxn/win/kernel32.go
generated
vendored
@ -1,352 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
const MAX_PATH = 260
|
|
||||||
|
|
||||||
// Error codes
|
|
||||||
const (
|
|
||||||
ERROR_SUCCESS = 0
|
|
||||||
ERROR_INVALID_FUNCTION = 1
|
|
||||||
ERROR_FILE_NOT_FOUND = 2
|
|
||||||
ERROR_INVALID_PARAMETER = 87
|
|
||||||
ERROR_INSUFFICIENT_BUFFER = 122
|
|
||||||
ERROR_MORE_DATA = 234
|
|
||||||
)
|
|
||||||
|
|
||||||
// GlobalAlloc flags
|
|
||||||
const (
|
|
||||||
GHND = 0x0042
|
|
||||||
GMEM_FIXED = 0x0000
|
|
||||||
GMEM_MOVEABLE = 0x0002
|
|
||||||
GMEM_ZEROINIT = 0x0040
|
|
||||||
GPTR = 0x004
|
|
||||||
)
|
|
||||||
|
|
||||||
// Predefined locale ids
|
|
||||||
const (
|
|
||||||
LOCALE_CUSTOM_DEFAULT LCID = 0x0c00
|
|
||||||
LOCALE_CUSTOM_UI_DEFAULT LCID = 0x1400
|
|
||||||
LOCALE_CUSTOM_UNSPECIFIED LCID = 0x1000
|
|
||||||
LOCALE_INVARIANT LCID = 0x007f
|
|
||||||
LOCALE_USER_DEFAULT LCID = 0x0400
|
|
||||||
LOCALE_SYSTEM_DEFAULT LCID = 0x0800
|
|
||||||
)
|
|
||||||
|
|
||||||
// LCTYPE constants
|
|
||||||
const (
|
|
||||||
LOCALE_SDECIMAL LCTYPE = 14
|
|
||||||
LOCALE_STHOUSAND LCTYPE = 15
|
|
||||||
LOCALE_SISO3166CTRYNAME LCTYPE = 0x5a
|
|
||||||
LOCALE_SISO3166CTRYNAME2 LCTYPE = 0x68
|
|
||||||
LOCALE_SISO639LANGNAME LCTYPE = 0x59
|
|
||||||
LOCALE_SISO639LANGNAME2 LCTYPE = 0x67
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libkernel32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
closeHandle uintptr
|
|
||||||
fileTimeToSystemTime uintptr
|
|
||||||
getConsoleTitle uintptr
|
|
||||||
getConsoleWindow uintptr
|
|
||||||
getLastError uintptr
|
|
||||||
getLocaleInfo uintptr
|
|
||||||
getLogicalDriveStrings uintptr
|
|
||||||
getModuleHandle uintptr
|
|
||||||
getNumberFormat uintptr
|
|
||||||
getThreadLocale uintptr
|
|
||||||
getThreadUILanguage uintptr
|
|
||||||
getVersion uintptr
|
|
||||||
globalAlloc uintptr
|
|
||||||
globalFree uintptr
|
|
||||||
globalLock uintptr
|
|
||||||
globalUnlock uintptr
|
|
||||||
moveMemory uintptr
|
|
||||||
mulDiv uintptr
|
|
||||||
setLastError uintptr
|
|
||||||
systemTimeToFileTime uintptr
|
|
||||||
getProfileString uintptr
|
|
||||||
getPhysicallyInstalledSystemMemory uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
ATOM uint16
|
|
||||||
HANDLE uintptr
|
|
||||||
HGLOBAL HANDLE
|
|
||||||
HINSTANCE HANDLE
|
|
||||||
LCID uint32
|
|
||||||
LCTYPE uint32
|
|
||||||
LANGID uint16
|
|
||||||
)
|
|
||||||
|
|
||||||
type FILETIME struct {
|
|
||||||
DwLowDateTime uint32
|
|
||||||
DwHighDateTime uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NUMBERFMT struct {
|
|
||||||
NumDigits uint32
|
|
||||||
LeadingZero uint32
|
|
||||||
Grouping uint32
|
|
||||||
LpDecimalSep *uint16
|
|
||||||
LpThousandSep *uint16
|
|
||||||
NegativeOrder uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type SYSTEMTIME struct {
|
|
||||||
WYear uint16
|
|
||||||
WMonth uint16
|
|
||||||
WDayOfWeek uint16
|
|
||||||
WDay uint16
|
|
||||||
WHour uint16
|
|
||||||
WMinute uint16
|
|
||||||
WSecond uint16
|
|
||||||
WMilliseconds uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libkernel32 = MustLoadLibrary("kernel32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
closeHandle = MustGetProcAddress(libkernel32, "CloseHandle")
|
|
||||||
fileTimeToSystemTime = MustGetProcAddress(libkernel32, "FileTimeToSystemTime")
|
|
||||||
getConsoleTitle = MustGetProcAddress(libkernel32, "GetConsoleTitleW")
|
|
||||||
getConsoleWindow = MustGetProcAddress(libkernel32, "GetConsoleWindow")
|
|
||||||
getLastError = MustGetProcAddress(libkernel32, "GetLastError")
|
|
||||||
getLocaleInfo = MustGetProcAddress(libkernel32, "GetLocaleInfoW")
|
|
||||||
getLogicalDriveStrings = MustGetProcAddress(libkernel32, "GetLogicalDriveStringsW")
|
|
||||||
getModuleHandle = MustGetProcAddress(libkernel32, "GetModuleHandleW")
|
|
||||||
getNumberFormat = MustGetProcAddress(libkernel32, "GetNumberFormatW")
|
|
||||||
getProfileString = MustGetProcAddress(libkernel32, "GetProfileStringW")
|
|
||||||
getThreadLocale = MustGetProcAddress(libkernel32, "GetThreadLocale")
|
|
||||||
getThreadUILanguage, _ = syscall.GetProcAddress(syscall.Handle(libkernel32), "GetThreadUILanguage")
|
|
||||||
getVersion = MustGetProcAddress(libkernel32, "GetVersion")
|
|
||||||
globalAlloc = MustGetProcAddress(libkernel32, "GlobalAlloc")
|
|
||||||
globalFree = MustGetProcAddress(libkernel32, "GlobalFree")
|
|
||||||
globalLock = MustGetProcAddress(libkernel32, "GlobalLock")
|
|
||||||
globalUnlock = MustGetProcAddress(libkernel32, "GlobalUnlock")
|
|
||||||
moveMemory = MustGetProcAddress(libkernel32, "RtlMoveMemory")
|
|
||||||
mulDiv = MustGetProcAddress(libkernel32, "MulDiv")
|
|
||||||
setLastError = MustGetProcAddress(libkernel32, "SetLastError")
|
|
||||||
systemTimeToFileTime = MustGetProcAddress(libkernel32, "SystemTimeToFileTime")
|
|
||||||
getPhysicallyInstalledSystemMemory = MustGetProcAddress(libkernel32, "GetPhysicallyInstalledSystemMemory")
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func CloseHandle(hObject HANDLE) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(closeHandle, 1,
|
|
||||||
uintptr(hObject),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func FileTimeToSystemTime(lpFileTime *FILETIME, lpSystemTime *SYSTEMTIME) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(fileTimeToSystemTime, 2,
|
|
||||||
uintptr(unsafe.Pointer(lpFileTime)),
|
|
||||||
uintptr(unsafe.Pointer(lpSystemTime)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetConsoleTitle(lpConsoleTitle *uint16, nSize uint32) uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(getConsoleTitle, 2,
|
|
||||||
uintptr(unsafe.Pointer(lpConsoleTitle)),
|
|
||||||
uintptr(nSize),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetConsoleWindow() HWND {
|
|
||||||
ret, _, _ := syscall.Syscall(getConsoleWindow, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HWND(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetLastError() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(getLastError, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetLocaleInfo(Locale LCID, LCType LCTYPE, lpLCData *uint16, cchData int32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(getLocaleInfo, 4,
|
|
||||||
uintptr(Locale),
|
|
||||||
uintptr(LCType),
|
|
||||||
uintptr(unsafe.Pointer(lpLCData)),
|
|
||||||
uintptr(cchData),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetLogicalDriveStrings(nBufferLength uint32, lpBuffer *uint16) uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(getLogicalDriveStrings, 2,
|
|
||||||
uintptr(nBufferLength),
|
|
||||||
uintptr(unsafe.Pointer(lpBuffer)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetModuleHandle(lpModuleName *uint16) HINSTANCE {
|
|
||||||
ret, _, _ := syscall.Syscall(getModuleHandle, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpModuleName)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HINSTANCE(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetNumberFormat(Locale LCID, dwFlags uint32, lpValue *uint16, lpFormat *NUMBERFMT, lpNumberStr *uint16, cchNumber int32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(getNumberFormat, 6,
|
|
||||||
uintptr(Locale),
|
|
||||||
uintptr(dwFlags),
|
|
||||||
uintptr(unsafe.Pointer(lpValue)),
|
|
||||||
uintptr(unsafe.Pointer(lpFormat)),
|
|
||||||
uintptr(unsafe.Pointer(lpNumberStr)),
|
|
||||||
uintptr(cchNumber))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetProfileString(lpAppName, lpKeyName, lpDefault *uint16, lpReturnedString uintptr, nSize uint32) bool {
|
|
||||||
ret, _, _ := syscall.Syscall6(getProfileString, 5,
|
|
||||||
uintptr(unsafe.Pointer(lpAppName)),
|
|
||||||
uintptr(unsafe.Pointer(lpKeyName)),
|
|
||||||
uintptr(unsafe.Pointer(lpDefault)),
|
|
||||||
lpReturnedString,
|
|
||||||
uintptr(nSize),
|
|
||||||
0)
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetThreadLocale() LCID {
|
|
||||||
ret, _, _ := syscall.Syscall(getThreadLocale, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return LCID(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetThreadUILanguage() LANGID {
|
|
||||||
if getThreadUILanguage == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
ret, _, _ := syscall.Syscall(getThreadUILanguage, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return LANGID(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetVersion() int64 {
|
|
||||||
ret, _, _ := syscall.Syscall(getVersion, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
return int64(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GlobalAlloc(uFlags uint32, dwBytes uintptr) HGLOBAL {
|
|
||||||
ret, _, _ := syscall.Syscall(globalAlloc, 2,
|
|
||||||
uintptr(uFlags),
|
|
||||||
dwBytes,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HGLOBAL(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GlobalFree(hMem HGLOBAL) HGLOBAL {
|
|
||||||
ret, _, _ := syscall.Syscall(globalFree, 1,
|
|
||||||
uintptr(hMem),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HGLOBAL(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GlobalLock(hMem HGLOBAL) unsafe.Pointer {
|
|
||||||
ret, _, _ := syscall.Syscall(globalLock, 1,
|
|
||||||
uintptr(hMem),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return unsafe.Pointer(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GlobalUnlock(hMem HGLOBAL) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(globalUnlock, 1,
|
|
||||||
uintptr(hMem),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func MoveMemory(destination, source unsafe.Pointer, length uintptr) {
|
|
||||||
syscall.Syscall(moveMemory, 3,
|
|
||||||
uintptr(unsafe.Pointer(destination)),
|
|
||||||
uintptr(source),
|
|
||||||
uintptr(length))
|
|
||||||
}
|
|
||||||
|
|
||||||
func MulDiv(nNumber, nNumerator, nDenominator int32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall(mulDiv, 3,
|
|
||||||
uintptr(nNumber),
|
|
||||||
uintptr(nNumerator),
|
|
||||||
uintptr(nDenominator))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SetLastError(dwErrorCode uint32) {
|
|
||||||
syscall.Syscall(setLastError, 1,
|
|
||||||
uintptr(dwErrorCode),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SystemTimeToFileTime(lpSystemTime *SYSTEMTIME, lpFileTime *FILETIME) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(systemTimeToFileTime, 2,
|
|
||||||
uintptr(unsafe.Pointer(lpSystemTime)),
|
|
||||||
uintptr(unsafe.Pointer(lpFileTime)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetPhysicallyInstalledSystemMemory(totalMemoryInKilobytes *uint64) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(getPhysicallyInstalledSystemMemory, 1,
|
|
||||||
uintptr(unsafe.Pointer(totalMemoryInKilobytes)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
87
vendor/github.com/lxn/win/listbox.go
generated
vendored
87
vendor/github.com/lxn/win/listbox.go
generated
vendored
@ -1,87 +0,0 @@
|
|||||||
// 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
|
|
||||||
|
|
||||||
// ListBox style
|
|
||||||
const (
|
|
||||||
LBS_NOTIFY = 0x0001
|
|
||||||
LBS_SORT = 0x0002
|
|
||||||
LBS_NOREDRAW = 0x0004
|
|
||||||
LBS_MULTIPLESEL = 0x0008
|
|
||||||
LBS_OWNERDRAWFIXED = 0x0010
|
|
||||||
LBS_OWNERDRAWVARIABLE = 0x0020
|
|
||||||
LBS_HASSTRINGS = 0x0040
|
|
||||||
LBS_USETABSTOPS = 0x0080
|
|
||||||
LBS_NOINTEGRALHEIGHT = 0x0100
|
|
||||||
LBS_MULTICOLUMN = 0x0200
|
|
||||||
LBS_WANTKEYBOARDINPUT = 0x0400
|
|
||||||
LBS_EXTENDEDSEL = 0x0800
|
|
||||||
LBS_DISABLENOSCROLL = 0x1000
|
|
||||||
LBS_NODATA = 0x2000
|
|
||||||
LBS_NOSEL = 0x4000
|
|
||||||
LBS_COMBOBOX = 0x8000
|
|
||||||
LBS_STANDARD = LBS_NOTIFY | LBS_SORT | WS_BORDER | WS_VSCROLL
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListBox messages
|
|
||||||
const (
|
|
||||||
LB_ADDSTRING = 0x0180
|
|
||||||
LB_INSERTSTRING = 0x0181
|
|
||||||
LB_DELETESTRING = 0x0182
|
|
||||||
LB_SELITEMRANGEEX = 0x0183
|
|
||||||
LB_RESETCONTENT = 0x0184
|
|
||||||
LB_SETSEL = 0x0185
|
|
||||||
LB_SETCURSEL = 0x0186
|
|
||||||
LB_GETSEL = 0x0187
|
|
||||||
LB_GETCURSEL = 0x0188
|
|
||||||
LB_GETTEXT = 0x0189
|
|
||||||
LB_GETTEXTLEN = 0x018A
|
|
||||||
LB_GETCOUNT = 0x018B
|
|
||||||
LB_SELECTSTRING = 0x018C
|
|
||||||
LB_DIR = 0x018D
|
|
||||||
LB_GETTOPINDEX = 0x018E
|
|
||||||
LB_FINDSTRING = 0x018F
|
|
||||||
LB_GETSELCOUNT = 0x0190
|
|
||||||
LB_GETSELITEMS = 0x0191
|
|
||||||
LB_SETTABSTOPS = 0x0192
|
|
||||||
LB_GETHORIZONTALEXTENT = 0x0193
|
|
||||||
LB_SETHORIZONTALEXTENT = 0x0194
|
|
||||||
LB_SETCOLUMNWIDTH = 0x0195
|
|
||||||
LB_ADDFILE = 0x0196
|
|
||||||
LB_SETTOPINDEX = 0x0197
|
|
||||||
LB_GETITEMRECT = 0x0198
|
|
||||||
LB_GETITEMDATA = 0x0199
|
|
||||||
LB_SETITEMDATA = 0x019A
|
|
||||||
LB_SELITEMRANGE = 0x019B
|
|
||||||
LB_SETANCHORINDEX = 0x019C
|
|
||||||
LB_GETANCHORINDEX = 0x019D
|
|
||||||
LB_SETCARETINDEX = 0x019E
|
|
||||||
LB_GETCARETINDEX = 0x019F
|
|
||||||
LB_SETITEMHEIGHT = 0x01A0
|
|
||||||
LB_GETITEMHEIGHT = 0x01A1
|
|
||||||
LB_FINDSTRINGEXACT = 0x01A2
|
|
||||||
LB_SETLOCALE = 0x01A5
|
|
||||||
LB_GETLOCALE = 0x01A6
|
|
||||||
LB_SETCOUNT = 0x01A7
|
|
||||||
LB_INITSTORAGE = 0x01A8
|
|
||||||
LB_ITEMFROMPOINT = 0x01A9
|
|
||||||
LB_MULTIPLEADDSTRING = 0x01B1
|
|
||||||
)
|
|
||||||
|
|
||||||
//Listbox Notification Codes
|
|
||||||
const (
|
|
||||||
LBN_ERRSPACE = -2
|
|
||||||
LBN_SELCHANGE = 1
|
|
||||||
LBN_DBLCLK = 2
|
|
||||||
LBN_SELCANCEL = 3
|
|
||||||
LBN_SETFOCUS = 4
|
|
||||||
LBN_KILLFOCUS = 5
|
|
||||||
)
|
|
||||||
const (
|
|
||||||
LB_ERR = -1
|
|
||||||
LB_ERRSPACE = -2
|
|
||||||
)
|
|
370
vendor/github.com/lxn/win/listview.go
generated
vendored
370
vendor/github.com/lxn/win/listview.go
generated
vendored
@ -1,370 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
const (
|
|
||||||
LVSCW_AUTOSIZE = ^uintptr(0)
|
|
||||||
LVSCW_AUTOSIZE_USEHEADER = ^uintptr(1)
|
|
||||||
)
|
|
||||||
|
|
||||||
// LVM_SETITEMCOUNT flags
|
|
||||||
const (
|
|
||||||
LVSICF_NOINVALIDATEALL = 0x0001
|
|
||||||
LVSICF_NOSCROLL = 0x0002
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView messages
|
|
||||||
const (
|
|
||||||
LVM_FIRST = 0x1000
|
|
||||||
LVM_SETIMAGELIST = LVM_FIRST + 3
|
|
||||||
LVM_GETITEM = LVM_FIRST + 75
|
|
||||||
LVM_SETITEM = LVM_FIRST + 76
|
|
||||||
LVM_INSERTITEM = LVM_FIRST + 77
|
|
||||||
LVM_DELETEITEM = LVM_FIRST + 8
|
|
||||||
LVM_DELETEALLITEMS = LVM_FIRST + 9
|
|
||||||
LVM_GETCALLBACKMASK = LVM_FIRST + 10
|
|
||||||
LVM_SETCALLBACKMASK = LVM_FIRST + 11
|
|
||||||
LVM_GETNEXTITEM = LVM_FIRST + 12
|
|
||||||
LVM_FINDITEM = LVM_FIRST + 83
|
|
||||||
LVM_GETITEMRECT = LVM_FIRST + 14
|
|
||||||
LVM_GETSTRINGWIDTH = LVM_FIRST + 87
|
|
||||||
LVM_HITTEST = LVM_FIRST + 18
|
|
||||||
LVM_ENSUREVISIBLE = LVM_FIRST + 19
|
|
||||||
LVM_SCROLL = LVM_FIRST + 20
|
|
||||||
LVM_REDRAWITEMS = LVM_FIRST + 21
|
|
||||||
LVM_ARRANGE = LVM_FIRST + 22
|
|
||||||
LVM_EDITLABEL = LVM_FIRST + 118
|
|
||||||
LVM_GETEDITCONTROL = LVM_FIRST + 24
|
|
||||||
LVM_GETCOLUMN = LVM_FIRST + 95
|
|
||||||
LVM_SETCOLUMN = LVM_FIRST + 96
|
|
||||||
LVM_INSERTCOLUMN = LVM_FIRST + 97
|
|
||||||
LVM_DELETECOLUMN = LVM_FIRST + 28
|
|
||||||
LVM_GETCOLUMNWIDTH = LVM_FIRST + 29
|
|
||||||
LVM_SETCOLUMNWIDTH = LVM_FIRST + 30
|
|
||||||
LVM_GETHEADER = LVM_FIRST + 31
|
|
||||||
LVM_CREATEDRAGIMAGE = LVM_FIRST + 33
|
|
||||||
LVM_GETVIEWRECT = LVM_FIRST + 34
|
|
||||||
LVM_GETTEXTCOLOR = LVM_FIRST + 35
|
|
||||||
LVM_SETTEXTCOLOR = LVM_FIRST + 36
|
|
||||||
LVM_GETTEXTBKCOLOR = LVM_FIRST + 37
|
|
||||||
LVM_SETTEXTBKCOLOR = LVM_FIRST + 38
|
|
||||||
LVM_GETTOPINDEX = LVM_FIRST + 39
|
|
||||||
LVM_GETCOUNTPERPAGE = LVM_FIRST + 40
|
|
||||||
LVM_GETORIGIN = LVM_FIRST + 41
|
|
||||||
LVM_UPDATE = LVM_FIRST + 42
|
|
||||||
LVM_SETITEMSTATE = LVM_FIRST + 43
|
|
||||||
LVM_GETITEMSTATE = LVM_FIRST + 44
|
|
||||||
LVM_GETITEMTEXT = LVM_FIRST + 115
|
|
||||||
LVM_SETITEMTEXT = LVM_FIRST + 116
|
|
||||||
LVM_SETITEMCOUNT = LVM_FIRST + 47
|
|
||||||
LVM_SORTITEMS = LVM_FIRST + 48
|
|
||||||
LVM_SETITEMPOSITION32 = LVM_FIRST + 49
|
|
||||||
LVM_GETSELECTEDCOUNT = LVM_FIRST + 50
|
|
||||||
LVM_GETITEMSPACING = LVM_FIRST + 51
|
|
||||||
LVM_GETISEARCHSTRING = LVM_FIRST + 117
|
|
||||||
LVM_SETICONSPACING = LVM_FIRST + 53
|
|
||||||
LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
|
|
||||||
LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
|
|
||||||
LVM_GETSUBITEMRECT = LVM_FIRST + 56
|
|
||||||
LVM_SUBITEMHITTEST = LVM_FIRST + 57
|
|
||||||
LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58
|
|
||||||
LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59
|
|
||||||
LVM_SETHOTITEM = LVM_FIRST + 60
|
|
||||||
LVM_GETHOTITEM = LVM_FIRST + 61
|
|
||||||
LVM_SETHOTCURSOR = LVM_FIRST + 62
|
|
||||||
LVM_GETHOTCURSOR = LVM_FIRST + 63
|
|
||||||
LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64
|
|
||||||
LVM_SETWORKAREAS = LVM_FIRST + 65
|
|
||||||
LVM_GETWORKAREAS = LVM_FIRST + 70
|
|
||||||
LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73
|
|
||||||
LVM_GETSELECTIONMARK = LVM_FIRST + 66
|
|
||||||
LVM_SETSELECTIONMARK = LVM_FIRST + 67
|
|
||||||
LVM_SETHOVERTIME = LVM_FIRST + 71
|
|
||||||
LVM_GETHOVERTIME = LVM_FIRST + 72
|
|
||||||
LVM_SETTOOLTIPS = LVM_FIRST + 74
|
|
||||||
LVM_GETTOOLTIPS = LVM_FIRST + 78
|
|
||||||
LVM_SORTITEMSEX = LVM_FIRST + 81
|
|
||||||
LVM_SETBKIMAGE = LVM_FIRST + 138
|
|
||||||
LVM_GETBKIMAGE = LVM_FIRST + 139
|
|
||||||
LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
|
|
||||||
LVM_SETVIEW = LVM_FIRST + 142
|
|
||||||
LVM_GETVIEW = LVM_FIRST + 143
|
|
||||||
LVM_INSERTGROUP = LVM_FIRST + 145
|
|
||||||
LVM_SETGROUPINFO = LVM_FIRST + 147
|
|
||||||
LVM_GETGROUPINFO = LVM_FIRST + 149
|
|
||||||
LVM_REMOVEGROUP = LVM_FIRST + 150
|
|
||||||
LVM_MOVEGROUP = LVM_FIRST + 151
|
|
||||||
LVM_GETGROUPCOUNT = LVM_FIRST + 152
|
|
||||||
LVM_GETGROUPINFOBYINDEX = LVM_FIRST + 153
|
|
||||||
LVM_MOVEITEMTOGROUP = LVM_FIRST + 154
|
|
||||||
LVM_GETGROUPRECT = LVM_FIRST + 98
|
|
||||||
LVM_SETGROUPMETRICS = LVM_FIRST + 155
|
|
||||||
LVM_GETGROUPMETRICS = LVM_FIRST + 156
|
|
||||||
LVM_ENABLEGROUPVIEW = LVM_FIRST + 157
|
|
||||||
LVM_SORTGROUPS = LVM_FIRST + 158
|
|
||||||
LVM_INSERTGROUPSORTED = LVM_FIRST + 159
|
|
||||||
LVM_REMOVEALLGROUPS = LVM_FIRST + 160
|
|
||||||
LVM_HASGROUP = LVM_FIRST + 161
|
|
||||||
LVM_GETGROUPSTATE = LVM_FIRST + 92
|
|
||||||
LVM_GETFOCUSEDGROUP = LVM_FIRST + 93
|
|
||||||
LVM_SETTILEVIEWINFO = LVM_FIRST + 162
|
|
||||||
LVM_GETTILEVIEWINFO = LVM_FIRST + 163
|
|
||||||
LVM_SETTILEINFO = LVM_FIRST + 164
|
|
||||||
LVM_GETTILEINFO = LVM_FIRST + 165
|
|
||||||
LVM_SETINSERTMARK = LVM_FIRST + 166
|
|
||||||
LVM_GETINSERTMARK = LVM_FIRST + 167
|
|
||||||
LVM_INSERTMARKHITTEST = LVM_FIRST + 168
|
|
||||||
LVM_GETINSERTMARKRECT = LVM_FIRST + 169
|
|
||||||
LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170
|
|
||||||
LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171
|
|
||||||
LVM_SETINFOTIP = LVM_FIRST + 173
|
|
||||||
LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174
|
|
||||||
LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175
|
|
||||||
LVM_GETOUTLINECOLOR = LVM_FIRST + 176
|
|
||||||
LVM_SETOUTLINECOLOR = LVM_FIRST + 177
|
|
||||||
LVM_CANCELEDITLABEL = LVM_FIRST + 179
|
|
||||||
LVM_MAPINDEXTOID = LVM_FIRST + 180
|
|
||||||
LVM_MAPIDTOINDEX = LVM_FIRST + 181
|
|
||||||
LVM_ISITEMVISIBLE = LVM_FIRST + 182
|
|
||||||
LVM_GETNEXTITEMINDEX = LVM_FIRST + 211
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView notifications
|
|
||||||
const (
|
|
||||||
LVN_FIRST = ^uint32(99) // -100
|
|
||||||
|
|
||||||
LVN_ITEMCHANGING = LVN_FIRST - 0
|
|
||||||
LVN_ITEMCHANGED = LVN_FIRST - 1
|
|
||||||
LVN_INSERTITEM = LVN_FIRST - 2
|
|
||||||
LVN_DELETEITEM = LVN_FIRST - 3
|
|
||||||
LVN_DELETEALLITEMS = LVN_FIRST - 4
|
|
||||||
LVN_BEGINLABELEDIT = LVN_FIRST - 75
|
|
||||||
LVN_ENDLABELEDIT = LVN_FIRST - 76
|
|
||||||
LVN_COLUMNCLICK = LVN_FIRST - 8
|
|
||||||
LVN_BEGINDRAG = LVN_FIRST - 9
|
|
||||||
LVN_BEGINRDRAG = LVN_FIRST - 11
|
|
||||||
LVN_ODCACHEHINT = LVN_FIRST - 13
|
|
||||||
LVN_ODFINDITEM = LVN_FIRST - 79
|
|
||||||
LVN_ITEMACTIVATE = LVN_FIRST - 14
|
|
||||||
LVN_ODSTATECHANGED = LVN_FIRST - 15
|
|
||||||
LVN_HOTTRACK = LVN_FIRST - 21
|
|
||||||
LVN_GETDISPINFO = LVN_FIRST - 77
|
|
||||||
LVN_SETDISPINFO = LVN_FIRST - 78
|
|
||||||
LVN_KEYDOWN = LVN_FIRST - 55
|
|
||||||
LVN_MARQUEEBEGIN = LVN_FIRST - 56
|
|
||||||
LVN_GETINFOTIP = LVN_FIRST - 58
|
|
||||||
LVN_INCREMENTALSEARCH = LVN_FIRST - 63
|
|
||||||
LVN_BEGINSCROLL = LVN_FIRST - 80
|
|
||||||
LVN_ENDSCROLL = LVN_FIRST - 81
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView LVNI constants
|
|
||||||
const (
|
|
||||||
LVNI_ALL = 0
|
|
||||||
LVNI_FOCUSED = 1
|
|
||||||
LVNI_SELECTED = 2
|
|
||||||
LVNI_CUT = 4
|
|
||||||
LVNI_DROPHILITED = 8
|
|
||||||
LVNI_ABOVE = 256
|
|
||||||
LVNI_BELOW = 512
|
|
||||||
LVNI_TOLEFT = 1024
|
|
||||||
LVNI_TORIGHT = 2048
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView styles
|
|
||||||
const (
|
|
||||||
LVS_ICON = 0x0000
|
|
||||||
LVS_REPORT = 0x0001
|
|
||||||
LVS_SMALLICON = 0x0002
|
|
||||||
LVS_LIST = 0x0003
|
|
||||||
LVS_TYPEMASK = 0x0003
|
|
||||||
LVS_SINGLESEL = 0x0004
|
|
||||||
LVS_SHOWSELALWAYS = 0x0008
|
|
||||||
LVS_SORTASCENDING = 0x0010
|
|
||||||
LVS_SORTDESCENDING = 0x0020
|
|
||||||
LVS_SHAREIMAGELISTS = 0x0040
|
|
||||||
LVS_NOLABELWRAP = 0x0080
|
|
||||||
LVS_AUTOARRANGE = 0x0100
|
|
||||||
LVS_EDITLABELS = 0x0200
|
|
||||||
LVS_OWNERDATA = 0x1000
|
|
||||||
LVS_NOSCROLL = 0x2000
|
|
||||||
LVS_TYPESTYLEMASK = 0xfc00
|
|
||||||
LVS_ALIGNTOP = 0x0000
|
|
||||||
LVS_ALIGNLEFT = 0x0800
|
|
||||||
LVS_ALIGNMASK = 0x0c00
|
|
||||||
LVS_OWNERDRAWFIXED = 0x0400
|
|
||||||
LVS_NOCOLUMNHEADER = 0x4000
|
|
||||||
LVS_NOSORTHEADER = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView extended styles
|
|
||||||
const (
|
|
||||||
LVS_EX_GRIDLINES = 0x00000001
|
|
||||||
LVS_EX_SUBITEMIMAGES = 0x00000002
|
|
||||||
LVS_EX_CHECKBOXES = 0x00000004
|
|
||||||
LVS_EX_TRACKSELECT = 0x00000008
|
|
||||||
LVS_EX_HEADERDRAGDROP = 0x00000010
|
|
||||||
LVS_EX_FULLROWSELECT = 0x00000020
|
|
||||||
LVS_EX_ONECLICKACTIVATE = 0x00000040
|
|
||||||
LVS_EX_TWOCLICKACTIVATE = 0x00000080
|
|
||||||
LVS_EX_FLATSB = 0x00000100
|
|
||||||
LVS_EX_REGIONAL = 0x00000200
|
|
||||||
LVS_EX_INFOTIP = 0x00000400
|
|
||||||
LVS_EX_UNDERLINEHOT = 0x00000800
|
|
||||||
LVS_EX_UNDERLINECOLD = 0x00001000
|
|
||||||
LVS_EX_MULTIWORKAREAS = 0x00002000
|
|
||||||
LVS_EX_LABELTIP = 0x00004000
|
|
||||||
LVS_EX_BORDERSELECT = 0x00008000
|
|
||||||
LVS_EX_DOUBLEBUFFER = 0x00010000
|
|
||||||
LVS_EX_HIDELABELS = 0x00020000
|
|
||||||
LVS_EX_SINGLEROW = 0x00040000
|
|
||||||
LVS_EX_SNAPTOGRID = 0x00080000
|
|
||||||
LVS_EX_SIMPLESELECT = 0x00100000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView column flags
|
|
||||||
const (
|
|
||||||
LVCF_FMT = 0x0001
|
|
||||||
LVCF_WIDTH = 0x0002
|
|
||||||
LVCF_TEXT = 0x0004
|
|
||||||
LVCF_SUBITEM = 0x0008
|
|
||||||
LVCF_IMAGE = 0x0010
|
|
||||||
LVCF_ORDER = 0x0020
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView column format constants
|
|
||||||
const (
|
|
||||||
LVCFMT_LEFT = 0x0000
|
|
||||||
LVCFMT_RIGHT = 0x0001
|
|
||||||
LVCFMT_CENTER = 0x0002
|
|
||||||
LVCFMT_JUSTIFYMASK = 0x0003
|
|
||||||
LVCFMT_IMAGE = 0x0800
|
|
||||||
LVCFMT_BITMAP_ON_RIGHT = 0x1000
|
|
||||||
LVCFMT_COL_HAS_IMAGES = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView item flags
|
|
||||||
const (
|
|
||||||
LVIF_TEXT = 0x00000001
|
|
||||||
LVIF_IMAGE = 0x00000002
|
|
||||||
LVIF_PARAM = 0x00000004
|
|
||||||
LVIF_STATE = 0x00000008
|
|
||||||
LVIF_INDENT = 0x00000010
|
|
||||||
LVIF_NORECOMPUTE = 0x00000800
|
|
||||||
LVIF_GROUPID = 0x00000100
|
|
||||||
LVIF_COLUMNS = 0x00000200
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView item states
|
|
||||||
const (
|
|
||||||
LVIS_FOCUSED = 1
|
|
||||||
LVIS_SELECTED = 2
|
|
||||||
LVIS_CUT = 4
|
|
||||||
LVIS_DROPHILITED = 8
|
|
||||||
LVIS_OVERLAYMASK = 0xF00
|
|
||||||
LVIS_STATEIMAGEMASK = 0xF000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView hit test constants
|
|
||||||
const (
|
|
||||||
LVHT_NOWHERE = 0x00000001
|
|
||||||
LVHT_ONITEMICON = 0x00000002
|
|
||||||
LVHT_ONITEMLABEL = 0x00000004
|
|
||||||
LVHT_ONITEMSTATEICON = 0x00000008
|
|
||||||
LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON
|
|
||||||
|
|
||||||
LVHT_ABOVE = 0x00000008
|
|
||||||
LVHT_BELOW = 0x00000010
|
|
||||||
LVHT_TORIGHT = 0x00000020
|
|
||||||
LVHT_TOLEFT = 0x00000040
|
|
||||||
)
|
|
||||||
|
|
||||||
// ListView image list types
|
|
||||||
const (
|
|
||||||
LVSIL_NORMAL = 0
|
|
||||||
LVSIL_SMALL = 1
|
|
||||||
LVSIL_STATE = 2
|
|
||||||
LVSIL_GROUPHEADER = 3
|
|
||||||
)
|
|
||||||
|
|
||||||
type LVCOLUMN struct {
|
|
||||||
Mask uint32
|
|
||||||
Fmt int32
|
|
||||||
Cx int32
|
|
||||||
PszText *uint16
|
|
||||||
CchTextMax int32
|
|
||||||
ISubItem int32
|
|
||||||
IImage int32
|
|
||||||
IOrder int32
|
|
||||||
}
|
|
||||||
|
|
||||||
type LVITEM struct {
|
|
||||||
Mask uint32
|
|
||||||
IItem int32
|
|
||||||
ISubItem int32
|
|
||||||
State uint32
|
|
||||||
StateMask uint32
|
|
||||||
PszText *uint16
|
|
||||||
CchTextMax int32
|
|
||||||
IImage int32
|
|
||||||
LParam uintptr
|
|
||||||
IIndent int32
|
|
||||||
IGroupId int32
|
|
||||||
CColumns uint32
|
|
||||||
PuColumns uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type LVHITTESTINFO struct {
|
|
||||||
Pt POINT
|
|
||||||
Flags uint32
|
|
||||||
IItem int32
|
|
||||||
ISubItem int32
|
|
||||||
IGroup int32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMITEMACTIVATE struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
IItem int32
|
|
||||||
ISubItem int32
|
|
||||||
UNewState uint32
|
|
||||||
UOldState uint32
|
|
||||||
UChanged uint32
|
|
||||||
PtAction POINT
|
|
||||||
LParam uintptr
|
|
||||||
UKeyFlags uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMLISTVIEW struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
IItem int32
|
|
||||||
ISubItem int32
|
|
||||||
UNewState uint32
|
|
||||||
UOldState uint32
|
|
||||||
UChanged uint32
|
|
||||||
PtAction POINT
|
|
||||||
LParam uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMLVCUSTOMDRAW struct {
|
|
||||||
Nmcd NMCUSTOMDRAW
|
|
||||||
ClrText COLORREF
|
|
||||||
ClrTextBk COLORREF
|
|
||||||
ISubItem int32
|
|
||||||
DwItemType uint32
|
|
||||||
ClrFace COLORREF
|
|
||||||
IIconEffect int32
|
|
||||||
IIconPhase int32
|
|
||||||
IPartId int32
|
|
||||||
IStateId int32
|
|
||||||
RcText RECT
|
|
||||||
UAlign uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMLVDISPINFO struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
Item LVITEM
|
|
||||||
}
|
|
110
vendor/github.com/lxn/win/menu.go
generated
vendored
110
vendor/github.com/lxn/win/menu.go
generated
vendored
@ -1,110 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
// Constants for MENUITEMINFO.fMask
|
|
||||||
const (
|
|
||||||
MIIM_STATE = 1
|
|
||||||
MIIM_ID = 2
|
|
||||||
MIIM_SUBMENU = 4
|
|
||||||
MIIM_CHECKMARKS = 8
|
|
||||||
MIIM_TYPE = 16
|
|
||||||
MIIM_DATA = 32
|
|
||||||
MIIM_STRING = 64
|
|
||||||
MIIM_BITMAP = 128
|
|
||||||
MIIM_FTYPE = 256
|
|
||||||
)
|
|
||||||
|
|
||||||
// Constants for MENUITEMINFO.fType
|
|
||||||
const (
|
|
||||||
MFT_BITMAP = 4
|
|
||||||
MFT_MENUBARBREAK = 32
|
|
||||||
MFT_MENUBREAK = 64
|
|
||||||
MFT_OWNERDRAW = 256
|
|
||||||
MFT_RADIOCHECK = 512
|
|
||||||
MFT_RIGHTJUSTIFY = 0x4000
|
|
||||||
MFT_SEPARATOR = 0x800
|
|
||||||
MFT_RIGHTORDER = 0x2000
|
|
||||||
MFT_STRING = 0
|
|
||||||
)
|
|
||||||
|
|
||||||
// Constants for MENUITEMINFO.fState
|
|
||||||
const (
|
|
||||||
MFS_CHECKED = 8
|
|
||||||
MFS_DEFAULT = 4096
|
|
||||||
MFS_DISABLED = 3
|
|
||||||
MFS_ENABLED = 0
|
|
||||||
MFS_GRAYED = 3
|
|
||||||
MFS_HILITE = 128
|
|
||||||
MFS_UNCHECKED = 0
|
|
||||||
MFS_UNHILITE = 0
|
|
||||||
)
|
|
||||||
|
|
||||||
// Constants for MENUITEMINFO.hbmp*
|
|
||||||
const (
|
|
||||||
HBMMENU_CALLBACK = -1
|
|
||||||
HBMMENU_SYSTEM = 1
|
|
||||||
HBMMENU_MBAR_RESTORE = 2
|
|
||||||
HBMMENU_MBAR_MINIMIZE = 3
|
|
||||||
HBMMENU_MBAR_CLOSE = 5
|
|
||||||
HBMMENU_MBAR_CLOSE_D = 6
|
|
||||||
HBMMENU_MBAR_MINIMIZE_D = 7
|
|
||||||
HBMMENU_POPUP_CLOSE = 8
|
|
||||||
HBMMENU_POPUP_RESTORE = 9
|
|
||||||
HBMMENU_POPUP_MAXIMIZE = 10
|
|
||||||
HBMMENU_POPUP_MINIMIZE = 11
|
|
||||||
)
|
|
||||||
|
|
||||||
// MENUINFO mask constants
|
|
||||||
const (
|
|
||||||
MIM_APPLYTOSUBMENUS = 0x80000000
|
|
||||||
MIM_BACKGROUND = 0x00000002
|
|
||||||
MIM_HELPID = 0x00000004
|
|
||||||
MIM_MAXHEIGHT = 0x00000001
|
|
||||||
MIM_MENUDATA = 0x00000008
|
|
||||||
MIM_STYLE = 0x00000010
|
|
||||||
)
|
|
||||||
|
|
||||||
// MENUINFO style constants
|
|
||||||
const (
|
|
||||||
MNS_AUTODISMISS = 0x10000000
|
|
||||||
MNS_CHECKORBMP = 0x04000000
|
|
||||||
MNS_DRAGDROP = 0x20000000
|
|
||||||
MNS_MODELESS = 0x40000000
|
|
||||||
MNS_NOCHECK = 0x80000000
|
|
||||||
MNS_NOTIFYBYPOS = 0x08000000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
MF_BYCOMMAND = 0x00000000
|
|
||||||
MF_BYPOSITION = 0x00000400
|
|
||||||
)
|
|
||||||
|
|
||||||
type MENUITEMINFO struct {
|
|
||||||
CbSize uint32
|
|
||||||
FMask uint32
|
|
||||||
FType uint32
|
|
||||||
FState uint32
|
|
||||||
WID uint32
|
|
||||||
HSubMenu HMENU
|
|
||||||
HbmpChecked HBITMAP
|
|
||||||
HbmpUnchecked HBITMAP
|
|
||||||
DwItemData uintptr
|
|
||||||
DwTypeData *uint16
|
|
||||||
Cch uint32
|
|
||||||
HbmpItem HBITMAP
|
|
||||||
}
|
|
||||||
|
|
||||||
type MENUINFO struct {
|
|
||||||
CbSize uint32
|
|
||||||
FMask uint32
|
|
||||||
DwStyle uint32
|
|
||||||
CyMax uint32
|
|
||||||
HbrBack HBRUSH
|
|
||||||
DwContextHelpID uint32
|
|
||||||
DwMenuData uintptr
|
|
||||||
}
|
|
500
vendor/github.com/lxn/win/ole32.go
generated
vendored
500
vendor/github.com/lxn/win/ole32.go
generated
vendored
@ -1,500 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
CLSCTX_INPROC_SERVER = 0x1
|
|
||||||
CLSCTX_INPROC_HANDLER = 0x2
|
|
||||||
CLSCTX_LOCAL_SERVER = 0x4
|
|
||||||
CLSCTX_INPROC_SERVER16 = 0x8
|
|
||||||
CLSCTX_REMOTE_SERVER = 0x10
|
|
||||||
CLSCTX_INPROC_HANDLER16 = 0x20
|
|
||||||
CLSCTX_RESERVED1 = 0x40
|
|
||||||
CLSCTX_RESERVED2 = 0x80
|
|
||||||
CLSCTX_RESERVED3 = 0x100
|
|
||||||
CLSCTX_RESERVED4 = 0x200
|
|
||||||
CLSCTX_NO_CODE_DOWNLOAD = 0x400
|
|
||||||
CLSCTX_RESERVED5 = 0x800
|
|
||||||
CLSCTX_NO_CUSTOM_MARSHAL = 0x1000
|
|
||||||
CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000
|
|
||||||
CLSCTX_NO_FAILURE_LOG = 0x4000
|
|
||||||
CLSCTX_DISABLE_AAA = 0x8000
|
|
||||||
CLSCTX_ENABLE_AAA = 0x10000
|
|
||||||
CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
|
|
||||||
CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000
|
|
||||||
CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
|
|
||||||
CLSCTX_ENABLE_CLOAKING = 0x100000
|
|
||||||
CLSCTX_PS_DLL = 0x80000000
|
|
||||||
CLSCTX_ALL = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
|
|
||||||
)
|
|
||||||
|
|
||||||
// Verbs for IOleObject.DoVerb
|
|
||||||
const (
|
|
||||||
OLEIVERB_PRIMARY = 0
|
|
||||||
OLEIVERB_SHOW = -1
|
|
||||||
OLEIVERB_OPEN = -2
|
|
||||||
OLEIVERB_HIDE = -3
|
|
||||||
OLEIVERB_UIACTIVATE = -4
|
|
||||||
OLEIVERB_INPLACEACTIVATE = -5
|
|
||||||
OLEIVERB_DISCARDUNDOSTATE = -6
|
|
||||||
)
|
|
||||||
|
|
||||||
// OLECLOSE constants
|
|
||||||
const (
|
|
||||||
OLECLOSE_SAVEIFDIRTY = 0
|
|
||||||
OLECLOSE_NOSAVE = 1
|
|
||||||
OLECLOSE_PROMPTSAVE = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
type IID syscall.GUID
|
|
||||||
type CLSID syscall.GUID
|
|
||||||
type REFIID *IID
|
|
||||||
type REFCLSID *CLSID
|
|
||||||
|
|
||||||
var (
|
|
||||||
IID_IClassFactory = IID{0x00000001, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
IID_IConnectionPointContainer = IID{0xB196B284, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
|
|
||||||
IID_IOleClientSite = IID{0x00000118, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
IID_IOleInPlaceObject = IID{0x00000113, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
IID_IOleInPlaceSite = IID{0x00000119, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
IID_IOleObject = IID{0x00000112, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
IID_IUnknown = IID{0x00000000, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
)
|
|
||||||
|
|
||||||
func EqualREFIID(a, b REFIID) bool {
|
|
||||||
if a == b {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if a == nil || b == nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
if a.Data1 != b.Data1 || a.Data2 != b.Data2 || a.Data3 != b.Data3 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < 8; i++ {
|
|
||||||
if a.Data4[i] != b.Data4[i] {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
type IClassFactoryVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
CreateInstance uintptr
|
|
||||||
LockServer uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IClassFactory struct {
|
|
||||||
LpVtbl *IClassFactoryVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cf *IClassFactory) Release() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(cf.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(cf)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cf *IClassFactory) CreateInstance(pUnkOuter *IUnknown, riid REFIID, ppvObject *unsafe.Pointer) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(cf.LpVtbl.CreateInstance, 4,
|
|
||||||
uintptr(unsafe.Pointer(cf)),
|
|
||||||
uintptr(unsafe.Pointer(pUnkOuter)),
|
|
||||||
uintptr(unsafe.Pointer(riid)),
|
|
||||||
uintptr(unsafe.Pointer(ppvObject)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IConnectionPointVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetConnectionInterface uintptr
|
|
||||||
GetConnectionPointContainer uintptr
|
|
||||||
Advise uintptr
|
|
||||||
Unadvise uintptr
|
|
||||||
EnumConnections uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IConnectionPoint struct {
|
|
||||||
LpVtbl *IConnectionPointVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cp *IConnectionPoint) Release() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(cp.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(cp)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cp *IConnectionPoint) Advise(pUnkSink unsafe.Pointer, pdwCookie *uint32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(cp.LpVtbl.Advise, 3,
|
|
||||||
uintptr(unsafe.Pointer(cp)),
|
|
||||||
uintptr(pUnkSink),
|
|
||||||
uintptr(unsafe.Pointer(pdwCookie)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IConnectionPointContainerVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
EnumConnectionPoints uintptr
|
|
||||||
FindConnectionPoint uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IConnectionPointContainer struct {
|
|
||||||
LpVtbl *IConnectionPointContainerVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cpc *IConnectionPointContainer) Release() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(cpc.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(cpc)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cpc *IConnectionPointContainer) FindConnectionPoint(riid REFIID, ppCP **IConnectionPoint) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(cpc.LpVtbl.FindConnectionPoint, 3,
|
|
||||||
uintptr(unsafe.Pointer(cpc)),
|
|
||||||
uintptr(unsafe.Pointer(riid)),
|
|
||||||
uintptr(unsafe.Pointer(ppCP)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleClientSiteVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
SaveObject uintptr
|
|
||||||
GetMoniker uintptr
|
|
||||||
GetContainer uintptr
|
|
||||||
ShowObject uintptr
|
|
||||||
OnShowWindow uintptr
|
|
||||||
RequestNewObjectLayout uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleClientSite struct {
|
|
||||||
LpVtbl *IOleClientSiteVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceFrameVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetWindow uintptr
|
|
||||||
ContextSensitiveHelp uintptr
|
|
||||||
GetBorder uintptr
|
|
||||||
RequestBorderSpace uintptr
|
|
||||||
SetBorderSpace uintptr
|
|
||||||
SetActiveObject uintptr
|
|
||||||
InsertMenus uintptr
|
|
||||||
SetMenu uintptr
|
|
||||||
RemoveMenus uintptr
|
|
||||||
SetStatusText uintptr
|
|
||||||
EnableModeless uintptr
|
|
||||||
TranslateAccelerator uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceFrame struct {
|
|
||||||
LpVtbl *IOleInPlaceFrameVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceObjectVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetWindow uintptr
|
|
||||||
ContextSensitiveHelp uintptr
|
|
||||||
InPlaceDeactivate uintptr
|
|
||||||
UIDeactivate uintptr
|
|
||||||
SetObjectRects uintptr
|
|
||||||
ReactivateAndUndo uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceObject struct {
|
|
||||||
LpVtbl *IOleInPlaceObjectVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleInPlaceObject) Release() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleInPlaceObject) SetObjectRects(lprcPosRect, lprcClipRect *RECT) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetObjectRects, 3,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(unsafe.Pointer(lprcPosRect)),
|
|
||||||
uintptr(unsafe.Pointer(lprcClipRect)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceSiteVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetWindow uintptr
|
|
||||||
ContextSensitiveHelp uintptr
|
|
||||||
CanInPlaceActivate uintptr
|
|
||||||
OnInPlaceActivate uintptr
|
|
||||||
OnUIActivate uintptr
|
|
||||||
GetWindowContext uintptr
|
|
||||||
Scroll uintptr
|
|
||||||
OnUIDeactivate uintptr
|
|
||||||
OnInPlaceDeactivate uintptr
|
|
||||||
DiscardUndoState uintptr
|
|
||||||
DeactivateAndUndo uintptr
|
|
||||||
OnPosRectChange uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleInPlaceSite struct {
|
|
||||||
LpVtbl *IOleInPlaceSiteVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleObjectVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
SetClientSite uintptr
|
|
||||||
GetClientSite uintptr
|
|
||||||
SetHostNames uintptr
|
|
||||||
Close uintptr
|
|
||||||
SetMoniker uintptr
|
|
||||||
GetMoniker uintptr
|
|
||||||
InitFromData uintptr
|
|
||||||
GetClipboardData uintptr
|
|
||||||
DoVerb uintptr
|
|
||||||
EnumVerbs uintptr
|
|
||||||
Update uintptr
|
|
||||||
IsUpToDate uintptr
|
|
||||||
GetUserClassID uintptr
|
|
||||||
GetUserType uintptr
|
|
||||||
SetExtent uintptr
|
|
||||||
GetExtent uintptr
|
|
||||||
Advise uintptr
|
|
||||||
Unadvise uintptr
|
|
||||||
EnumAdvise uintptr
|
|
||||||
GetMiscStatus uintptr
|
|
||||||
SetColorScheme uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IOleObject struct {
|
|
||||||
LpVtbl *IOleObjectVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.QueryInterface, 3,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(unsafe.Pointer(riid)),
|
|
||||||
uintptr(unsafe.Pointer(ppvObject)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) Release() uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) SetClientSite(pClientSite *IOleClientSite) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetClientSite, 2,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(unsafe.Pointer(pClientSite)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) SetHostNames(szContainerApp, szContainerObj *uint16) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.SetHostNames, 3,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(unsafe.Pointer(szContainerApp)),
|
|
||||||
uintptr(unsafe.Pointer(szContainerObj)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) Close(dwSaveOption uint32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(obj.LpVtbl.Close, 2,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(dwSaveOption),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (obj *IOleObject) DoVerb(iVerb int32, lpmsg *MSG, pActiveSite *IOleClientSite, lindex int32, hwndParent HWND, lprcPosRect *RECT) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall9(obj.LpVtbl.DoVerb, 7,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(iVerb),
|
|
||||||
uintptr(unsafe.Pointer(lpmsg)),
|
|
||||||
uintptr(unsafe.Pointer(pActiveSite)),
|
|
||||||
uintptr(lindex),
|
|
||||||
uintptr(hwndParent),
|
|
||||||
uintptr(unsafe.Pointer(lprcPosRect)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IUnknownVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IUnknown struct {
|
|
||||||
LpVtbl *IUnknownVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type OLEINPLACEFRAMEINFO struct {
|
|
||||||
Cb uint32
|
|
||||||
FMDIApp BOOL
|
|
||||||
HwndFrame HWND
|
|
||||||
Haccel HACCEL
|
|
||||||
CAccelEntries uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type COAUTHIDENTITY struct {
|
|
||||||
User *uint16
|
|
||||||
UserLength uint32
|
|
||||||
Domain *uint16
|
|
||||||
DomainLength uint32
|
|
||||||
Password *uint16
|
|
||||||
PasswordLength uint32
|
|
||||||
Flags uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type COAUTHINFO struct {
|
|
||||||
dwAuthnSvc uint32
|
|
||||||
dwAuthzSvc uint32
|
|
||||||
pwszServerPrincName *uint16
|
|
||||||
dwAuthnLevel uint32
|
|
||||||
dwImpersonationLevel uint32
|
|
||||||
pAuthIdentityData *COAUTHIDENTITY
|
|
||||||
dwCapabilities uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type COSERVERINFO struct {
|
|
||||||
dwReserved1 uint32
|
|
||||||
pwszName *uint16
|
|
||||||
pAuthInfo *COAUTHINFO
|
|
||||||
dwReserved2 uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libole32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
coCreateInstance uintptr
|
|
||||||
coGetClassObject uintptr
|
|
||||||
coTaskMemFree uintptr
|
|
||||||
oleInitialize uintptr
|
|
||||||
oleSetContainedObject uintptr
|
|
||||||
oleUninitialize uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libole32 = MustLoadLibrary("ole32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
coCreateInstance = MustGetProcAddress(libole32, "CoCreateInstance")
|
|
||||||
coGetClassObject = MustGetProcAddress(libole32, "CoGetClassObject")
|
|
||||||
coTaskMemFree = MustGetProcAddress(libole32, "CoTaskMemFree")
|
|
||||||
oleInitialize = MustGetProcAddress(libole32, "OleInitialize")
|
|
||||||
oleSetContainedObject = MustGetProcAddress(libole32, "OleSetContainedObject")
|
|
||||||
oleUninitialize = MustGetProcAddress(libole32, "OleUninitialize")
|
|
||||||
}
|
|
||||||
|
|
||||||
func CoCreateInstance(rclsid REFCLSID, pUnkOuter *IUnknown, dwClsContext uint32, riid REFIID, ppv *unsafe.Pointer) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(coCreateInstance, 5,
|
|
||||||
uintptr(unsafe.Pointer(rclsid)),
|
|
||||||
uintptr(unsafe.Pointer(pUnkOuter)),
|
|
||||||
uintptr(dwClsContext),
|
|
||||||
uintptr(unsafe.Pointer(riid)),
|
|
||||||
uintptr(unsafe.Pointer(ppv)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func CoGetClassObject(rclsid REFCLSID, dwClsContext uint32, pServerInfo *COSERVERINFO, riid REFIID, ppv *unsafe.Pointer) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(coGetClassObject, 5,
|
|
||||||
uintptr(unsafe.Pointer(rclsid)),
|
|
||||||
uintptr(dwClsContext),
|
|
||||||
uintptr(unsafe.Pointer(pServerInfo)),
|
|
||||||
uintptr(unsafe.Pointer(riid)),
|
|
||||||
uintptr(unsafe.Pointer(ppv)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func CoTaskMemFree(pv uintptr) {
|
|
||||||
syscall.Syscall(coTaskMemFree, 1,
|
|
||||||
pv,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func OleInitialize() HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(oleInitialize, 1, // WTF, why does 0 not work here?
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func OleSetContainedObject(pUnknown *IUnknown, fContained bool) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(oleSetContainedObject, 2,
|
|
||||||
uintptr(unsafe.Pointer(pUnknown)),
|
|
||||||
uintptr(BoolToBOOL(fContained)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func OleUninitialize() {
|
|
||||||
syscall.Syscall(oleUninitialize, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
240
vendor/github.com/lxn/win/oleaut32.go
generated
vendored
240
vendor/github.com/lxn/win/oleaut32.go
generated
vendored
@ -1,240 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DISPID int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
DISPID_BEFORENAVIGATE DISPID = 100
|
|
||||||
DISPID_NAVIGATECOMPLETE DISPID = 101
|
|
||||||
DISPID_STATUSTEXTCHANGE DISPID = 102
|
|
||||||
DISPID_QUIT DISPID = 103
|
|
||||||
DISPID_DOWNLOADCOMPLETE DISPID = 104
|
|
||||||
DISPID_COMMANDSTATECHANGE DISPID = 105
|
|
||||||
DISPID_DOWNLOADBEGIN DISPID = 106
|
|
||||||
DISPID_NEWWINDOW DISPID = 107
|
|
||||||
DISPID_PROGRESSCHANGE DISPID = 108
|
|
||||||
DISPID_WINDOWMOVE DISPID = 109
|
|
||||||
DISPID_WINDOWRESIZE DISPID = 110
|
|
||||||
DISPID_WINDOWACTIVATE DISPID = 111
|
|
||||||
DISPID_PROPERTYCHANGE DISPID = 112
|
|
||||||
DISPID_TITLECHANGE DISPID = 113
|
|
||||||
DISPID_TITLEICONCHANGE DISPID = 114
|
|
||||||
DISPID_FRAMEBEFORENAVIGATE DISPID = 200
|
|
||||||
DISPID_FRAMENAVIGATECOMPLETE DISPID = 201
|
|
||||||
DISPID_FRAMENEWWINDOW DISPID = 204
|
|
||||||
DISPID_BEFORENAVIGATE2 DISPID = 250
|
|
||||||
DISPID_NEWWINDOW2 DISPID = 251
|
|
||||||
DISPID_NAVIGATECOMPLETE2 DISPID = 252
|
|
||||||
DISPID_ONQUIT DISPID = 253
|
|
||||||
DISPID_ONVISIBLE DISPID = 254
|
|
||||||
DISPID_ONTOOLBAR DISPID = 255
|
|
||||||
DISPID_ONMENUBAR DISPID = 256
|
|
||||||
DISPID_ONSTATUSBAR DISPID = 257
|
|
||||||
DISPID_ONFULLSCREEN DISPID = 258
|
|
||||||
DISPID_DOCUMENTCOMPLETE DISPID = 259
|
|
||||||
DISPID_ONTHEATERMODE DISPID = 260
|
|
||||||
DISPID_ONADDRESSBAR DISPID = 261
|
|
||||||
DISPID_WINDOWSETRESIZABLE DISPID = 262
|
|
||||||
DISPID_WINDOWCLOSING DISPID = 263
|
|
||||||
DISPID_WINDOWSETLEFT DISPID = 264
|
|
||||||
DISPID_WINDOWSETTOP DISPID = 265
|
|
||||||
DISPID_WINDOWSETWIDTH DISPID = 266
|
|
||||||
DISPID_WINDOWSETHEIGHT DISPID = 267
|
|
||||||
DISPID_CLIENTTOHOSTWINDOW DISPID = 268
|
|
||||||
DISPID_SETSECURELOCKICON DISPID = 269
|
|
||||||
DISPID_FILEDOWNLOAD DISPID = 270
|
|
||||||
DISPID_NAVIGATEERROR DISPID = 271
|
|
||||||
DISPID_PRIVACYIMPACTEDSTATECHANGE DISPID = 272
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
IID_IDispatch = IID{0x00020400, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
DISP_E_MEMBERNOTFOUND = 0x80020003
|
|
||||||
)
|
|
||||||
|
|
||||||
type VARTYPE uint16
|
|
||||||
|
|
||||||
const (
|
|
||||||
VT_EMPTY VARTYPE = 0
|
|
||||||
VT_NULL VARTYPE = 1
|
|
||||||
VT_I2 VARTYPE = 2
|
|
||||||
VT_I4 VARTYPE = 3
|
|
||||||
VT_R4 VARTYPE = 4
|
|
||||||
VT_R8 VARTYPE = 5
|
|
||||||
VT_CY VARTYPE = 6
|
|
||||||
VT_DATE VARTYPE = 7
|
|
||||||
VT_BSTR VARTYPE = 8
|
|
||||||
VT_DISPATCH VARTYPE = 9
|
|
||||||
VT_ERROR VARTYPE = 10
|
|
||||||
VT_BOOL VARTYPE = 11
|
|
||||||
VT_VARIANT VARTYPE = 12
|
|
||||||
VT_UNKNOWN VARTYPE = 13
|
|
||||||
VT_DECIMAL VARTYPE = 14
|
|
||||||
VT_I1 VARTYPE = 16
|
|
||||||
VT_UI1 VARTYPE = 17
|
|
||||||
VT_UI2 VARTYPE = 18
|
|
||||||
VT_UI4 VARTYPE = 19
|
|
||||||
VT_I8 VARTYPE = 20
|
|
||||||
VT_UI8 VARTYPE = 21
|
|
||||||
VT_INT VARTYPE = 22
|
|
||||||
VT_UINT VARTYPE = 23
|
|
||||||
VT_VOID VARTYPE = 24
|
|
||||||
VT_HRESULT VARTYPE = 25
|
|
||||||
VT_PTR VARTYPE = 26
|
|
||||||
VT_SAFEARRAY VARTYPE = 27
|
|
||||||
VT_CARRAY VARTYPE = 28
|
|
||||||
VT_USERDEFINED VARTYPE = 29
|
|
||||||
VT_LPSTR VARTYPE = 30
|
|
||||||
VT_LPWSTR VARTYPE = 31
|
|
||||||
VT_RECORD VARTYPE = 36
|
|
||||||
VT_INT_PTR VARTYPE = 37
|
|
||||||
VT_UINT_PTR VARTYPE = 38
|
|
||||||
VT_FILETIME VARTYPE = 64
|
|
||||||
VT_BLOB VARTYPE = 65
|
|
||||||
VT_STREAM VARTYPE = 66
|
|
||||||
VT_STORAGE VARTYPE = 67
|
|
||||||
VT_STREAMED_OBJECT VARTYPE = 68
|
|
||||||
VT_STORED_OBJECT VARTYPE = 69
|
|
||||||
VT_BLOB_OBJECT VARTYPE = 70
|
|
||||||
VT_CF VARTYPE = 71
|
|
||||||
VT_CLSID VARTYPE = 72
|
|
||||||
VT_VERSIONED_STREAM VARTYPE = 73
|
|
||||||
VT_BSTR_BLOB VARTYPE = 0xfff
|
|
||||||
VT_VECTOR VARTYPE = 0x1000
|
|
||||||
VT_ARRAY VARTYPE = 0x2000
|
|
||||||
VT_BYREF VARTYPE = 0x4000
|
|
||||||
VT_RESERVED VARTYPE = 0x8000
|
|
||||||
VT_ILLEGAL VARTYPE = 0xffff
|
|
||||||
VT_ILLEGALMASKED VARTYPE = 0xfff
|
|
||||||
VT_TYPEMASK VARTYPE = 0xfff
|
|
||||||
)
|
|
||||||
|
|
||||||
type VARIANT struct {
|
|
||||||
Vt VARTYPE
|
|
||||||
reserved [14]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type VARIANTARG VARIANT
|
|
||||||
|
|
||||||
type VARIANT_BOOL int16
|
|
||||||
|
|
||||||
//type BSTR *uint16
|
|
||||||
|
|
||||||
func StringToBSTR(value string) *uint16 /*BSTR*/ {
|
|
||||||
// IMPORTANT: Don't forget to free the BSTR value when no longer needed!
|
|
||||||
return SysAllocString(value)
|
|
||||||
}
|
|
||||||
|
|
||||||
func BSTRToString(value *uint16 /*BSTR*/) string {
|
|
||||||
// ISSUE: Is this really ok?
|
|
||||||
bstrArrPtr := (*[200000000]uint16)(unsafe.Pointer(value))
|
|
||||||
|
|
||||||
bstrSlice := make([]uint16, SysStringLen(value))
|
|
||||||
copy(bstrSlice, bstrArrPtr[:])
|
|
||||||
|
|
||||||
return syscall.UTF16ToString(bstrSlice)
|
|
||||||
}
|
|
||||||
|
|
||||||
type VAR_I4 struct {
|
|
||||||
vt VARTYPE
|
|
||||||
reserved1 [6]byte
|
|
||||||
lVal int32
|
|
||||||
reserved2 [4]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func IntToVariantI4(value int32) *VAR_I4 {
|
|
||||||
return &VAR_I4{vt: VT_I4, lVal: value}
|
|
||||||
}
|
|
||||||
|
|
||||||
func VariantI4ToInt(value *VAR_I4) int32 {
|
|
||||||
return value.lVal
|
|
||||||
}
|
|
||||||
|
|
||||||
type VAR_BOOL struct {
|
|
||||||
vt VARTYPE
|
|
||||||
reserved1 [6]byte
|
|
||||||
boolVal VARIANT_BOOL
|
|
||||||
reserved2 [6]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
func BoolToVariantBool(value bool) *VAR_BOOL {
|
|
||||||
return &VAR_BOOL{vt: VT_BOOL, boolVal: VARIANT_BOOL(BoolToBOOL(value))}
|
|
||||||
}
|
|
||||||
|
|
||||||
func VariantBoolToBool(value *VAR_BOOL) bool {
|
|
||||||
return value.boolVal != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func StringToVariantBSTR(value string) *VAR_BSTR {
|
|
||||||
// IMPORTANT: Don't forget to free the BSTR value when no longer needed!
|
|
||||||
return &VAR_BSTR{vt: VT_BSTR, bstrVal: StringToBSTR(value)}
|
|
||||||
}
|
|
||||||
|
|
||||||
func VariantBSTRToString(value *VAR_BSTR) string {
|
|
||||||
return BSTRToString(value.bstrVal)
|
|
||||||
}
|
|
||||||
|
|
||||||
type DISPPARAMS struct {
|
|
||||||
Rgvarg *VARIANTARG
|
|
||||||
RgdispidNamedArgs *DISPID
|
|
||||||
CArgs int32
|
|
||||||
CNamedArgs int32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
liboleaut32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
sysAllocString uintptr
|
|
||||||
sysFreeString uintptr
|
|
||||||
sysStringLen uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
liboleaut32 = MustLoadLibrary("oleaut32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
sysAllocString = MustGetProcAddress(liboleaut32, "SysAllocString")
|
|
||||||
sysFreeString = MustGetProcAddress(liboleaut32, "SysFreeString")
|
|
||||||
sysStringLen = MustGetProcAddress(liboleaut32, "SysStringLen")
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysAllocString(s string) *uint16 /*BSTR*/ {
|
|
||||||
ret, _, _ := syscall.Syscall(sysAllocString, 1,
|
|
||||||
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(s))),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return (*uint16) /*BSTR*/ (unsafe.Pointer(ret))
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysFreeString(bstr *uint16 /*BSTR*/) {
|
|
||||||
syscall.Syscall(sysFreeString, 1,
|
|
||||||
uintptr(unsafe.Pointer(bstr)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysStringLen(bstr *uint16 /*BSTR*/) uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall(sysStringLen, 1,
|
|
||||||
uintptr(unsafe.Pointer(bstr)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
14
vendor/github.com/lxn/win/oleaut32_386.go
generated
vendored
14
vendor/github.com/lxn/win/oleaut32_386.go
generated
vendored
@ -1,14 +0,0 @@
|
|||||||
// 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
|
|
||||||
|
|
||||||
type VAR_BSTR struct {
|
|
||||||
vt VARTYPE
|
|
||||||
reserved1 [6]byte
|
|
||||||
bstrVal *uint16 /*BSTR*/
|
|
||||||
reserved2 [4]byte
|
|
||||||
}
|
|
13
vendor/github.com/lxn/win/oleaut32_amd64.go
generated
vendored
13
vendor/github.com/lxn/win/oleaut32_amd64.go
generated
vendored
@ -1,13 +0,0 @@
|
|||||||
// 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
|
|
||||||
|
|
||||||
type VAR_BSTR struct {
|
|
||||||
vt VARTYPE
|
|
||||||
reserved1 [6]byte
|
|
||||||
bstrVal *uint16 /*BSTR*/
|
|
||||||
}
|
|
301
vendor/github.com/lxn/win/opengl32.go
generated
vendored
301
vendor/github.com/lxn/win/opengl32.go
generated
vendored
@ -1,301 +0,0 @@
|
|||||||
// Copyright 2011 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
// for second parameter of WglSwapLayerBuffers
|
|
||||||
const (
|
|
||||||
WGL_SWAP_MAIN_PLANE = (1 << 0)
|
|
||||||
WGL_SWAP_OVERLAY1 = (1 << 1)
|
|
||||||
WGL_SWAP_OVERLAY2 = (1 << 2)
|
|
||||||
WGL_SWAP_OVERLAY3 = (1 << 3)
|
|
||||||
WGL_SWAP_OVERLAY4 = (1 << 4)
|
|
||||||
WGL_SWAP_OVERLAY5 = (1 << 5)
|
|
||||||
WGL_SWAP_OVERLAY6 = (1 << 6)
|
|
||||||
WGL_SWAP_OVERLAY7 = (1 << 7)
|
|
||||||
WGL_SWAP_OVERLAY8 = (1 << 8)
|
|
||||||
WGL_SWAP_OVERLAY9 = (1 << 9)
|
|
||||||
WGL_SWAP_OVERLAY10 = (1 << 10)
|
|
||||||
WGL_SWAP_OVERLAY11 = (1 << 11)
|
|
||||||
WGL_SWAP_OVERLAY12 = (1 << 12)
|
|
||||||
WGL_SWAP_OVERLAY13 = (1 << 13)
|
|
||||||
WGL_SWAP_OVERLAY14 = (1 << 14)
|
|
||||||
WGL_SWAP_OVERLAY15 = (1 << 15)
|
|
||||||
WGL_SWAP_UNDERLAY1 = (1 << 16)
|
|
||||||
WGL_SWAP_UNDERLAY2 = (1 << 17)
|
|
||||||
WGL_SWAP_UNDERLAY3 = (1 << 18)
|
|
||||||
WGL_SWAP_UNDERLAY4 = (1 << 19)
|
|
||||||
WGL_SWAP_UNDERLAY5 = (1 << 20)
|
|
||||||
WGL_SWAP_UNDERLAY6 = (1 << 21)
|
|
||||||
WGL_SWAP_UNDERLAY7 = (1 << 22)
|
|
||||||
WGL_SWAP_UNDERLAY8 = (1 << 23)
|
|
||||||
WGL_SWAP_UNDERLAY9 = (1 << 24)
|
|
||||||
WGL_SWAP_UNDERLAY10 = (1 << 25)
|
|
||||||
WGL_SWAP_UNDERLAY11 = (1 << 26)
|
|
||||||
WGL_SWAP_UNDERLAY12 = (1 << 27)
|
|
||||||
WGL_SWAP_UNDERLAY13 = (1 << 28)
|
|
||||||
WGL_SWAP_UNDERLAY14 = (1 << 29)
|
|
||||||
WGL_SWAP_UNDERLAY15 = (1 << 30)
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
HGLRC HANDLE
|
|
||||||
)
|
|
||||||
|
|
||||||
type LAYERPLANEDESCRIPTOR struct {
|
|
||||||
NSize uint16
|
|
||||||
NVersion uint16
|
|
||||||
DwFlags uint32
|
|
||||||
IPixelType uint8
|
|
||||||
CColorBits uint8
|
|
||||||
CRedBits uint8
|
|
||||||
CRedShift uint8
|
|
||||||
CGreenBits uint8
|
|
||||||
CGreenShift uint8
|
|
||||||
CBlueBits uint8
|
|
||||||
CBlueShift uint8
|
|
||||||
CAlphaBits uint8
|
|
||||||
CAlphaShift uint8
|
|
||||||
CAccumBits uint8
|
|
||||||
CAccumRedBits uint8
|
|
||||||
CAccumGreenBits uint8
|
|
||||||
CAccumBlueBits uint8
|
|
||||||
CAccumAlphaBits uint8
|
|
||||||
CDepthBits uint8
|
|
||||||
CStencilBits uint8
|
|
||||||
CAuxBuffers uint8
|
|
||||||
ILayerType uint8
|
|
||||||
BReserved uint8
|
|
||||||
CrTransparent COLORREF
|
|
||||||
}
|
|
||||||
|
|
||||||
type POINTFLOAT struct {
|
|
||||||
X, Y float32
|
|
||||||
}
|
|
||||||
|
|
||||||
type GLYPHMETRICSFLOAT struct {
|
|
||||||
GmfBlackBoxX float32
|
|
||||||
GmfBlackBoxY float32
|
|
||||||
GmfptGlyphOrigin POINTFLOAT
|
|
||||||
GmfCellIncX float32
|
|
||||||
GmfCellIncY float32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
lib uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
wglCopyContext uintptr
|
|
||||||
wglCreateContext uintptr
|
|
||||||
wglCreateLayerContext uintptr
|
|
||||||
wglDeleteContext uintptr
|
|
||||||
wglDescribeLayerPlane uintptr
|
|
||||||
wglGetCurrentContext uintptr
|
|
||||||
wglGetCurrentDC uintptr
|
|
||||||
wglGetLayerPaletteEntries uintptr
|
|
||||||
wglGetProcAddress uintptr
|
|
||||||
wglMakeCurrent uintptr
|
|
||||||
wglRealizeLayerPalette uintptr
|
|
||||||
wglSetLayerPaletteEntries uintptr
|
|
||||||
wglShareLists uintptr
|
|
||||||
wglSwapLayerBuffers uintptr
|
|
||||||
wglUseFontBitmaps uintptr
|
|
||||||
wglUseFontOutlines uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
lib = MustLoadLibrary("opengl32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
wglCopyContext = MustGetProcAddress(lib, "wglCopyContext")
|
|
||||||
wglCreateContext = MustGetProcAddress(lib, "wglCreateContext")
|
|
||||||
wglCreateLayerContext = MustGetProcAddress(lib, "wglCreateLayerContext")
|
|
||||||
wglDeleteContext = MustGetProcAddress(lib, "wglDeleteContext")
|
|
||||||
wglDescribeLayerPlane = MustGetProcAddress(lib, "wglDescribeLayerPlane")
|
|
||||||
wglGetCurrentContext = MustGetProcAddress(lib, "wglGetCurrentContext")
|
|
||||||
wglGetCurrentDC = MustGetProcAddress(lib, "wglGetCurrentDC")
|
|
||||||
wglGetLayerPaletteEntries = MustGetProcAddress(lib, "wglGetLayerPaletteEntries")
|
|
||||||
wglGetProcAddress = MustGetProcAddress(lib, "wglGetProcAddress")
|
|
||||||
wglMakeCurrent = MustGetProcAddress(lib, "wglMakeCurrent")
|
|
||||||
wglRealizeLayerPalette = MustGetProcAddress(lib, "wglRealizeLayerPalette")
|
|
||||||
wglSetLayerPaletteEntries = MustGetProcAddress(lib, "wglSetLayerPaletteEntries")
|
|
||||||
wglShareLists = MustGetProcAddress(lib, "wglShareLists")
|
|
||||||
wglSwapLayerBuffers = MustGetProcAddress(lib, "wglSwapLayerBuffers")
|
|
||||||
wglUseFontBitmaps = MustGetProcAddress(lib, "wglUseFontBitmapsW")
|
|
||||||
wglUseFontOutlines = MustGetProcAddress(lib, "wglUseFontOutlinesW")
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglCopyContext(hglrcSrc, hglrcDst HGLRC, mask uint) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglCopyContext, 3,
|
|
||||||
uintptr(hglrcSrc),
|
|
||||||
uintptr(hglrcDst),
|
|
||||||
uintptr(mask))
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglCreateContext(hdc HDC) HGLRC {
|
|
||||||
ret, _, _ := syscall.Syscall(wglCreateContext, 1,
|
|
||||||
uintptr(hdc),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HGLRC(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglCreateLayerContext(hdc HDC, iLayerPlane int) HGLRC {
|
|
||||||
ret, _, _ := syscall.Syscall(wglCreateLayerContext, 2,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iLayerPlane),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HGLRC(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglDeleteContext(hglrc HGLRC) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglDeleteContext, 1,
|
|
||||||
uintptr(hglrc),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglDescribeLayerPlane(hdc HDC, iPixelFormat, iLayerPlane int, nBytes uint8, plpd *LAYERPLANEDESCRIPTOR) bool {
|
|
||||||
ret, _, _ := syscall.Syscall6(wglDescribeLayerPlane, 5,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iPixelFormat),
|
|
||||||
uintptr(iLayerPlane),
|
|
||||||
uintptr(nBytes),
|
|
||||||
uintptr(unsafe.Pointer(plpd)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglGetCurrentContext() HGLRC {
|
|
||||||
ret, _, _ := syscall.Syscall(wglGetCurrentContext, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HGLRC(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglGetCurrentDC() HDC {
|
|
||||||
ret, _, _ := syscall.Syscall(wglGetCurrentDC, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HDC(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglGetLayerPaletteEntries(hdc HDC, iLayerPlane, iStart, cEntries int, pcr *COLORREF) int {
|
|
||||||
ret, _, _ := syscall.Syscall6(wglGetLayerPaletteEntries, 5,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iLayerPlane),
|
|
||||||
uintptr(iStart),
|
|
||||||
uintptr(cEntries),
|
|
||||||
uintptr(unsafe.Pointer(pcr)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return int(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglGetProcAddress(lpszProc *byte) uintptr {
|
|
||||||
ret, _, _ := syscall.Syscall(wglGetProcAddress, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpszProc)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uintptr(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglMakeCurrent(hdc HDC, hglrc HGLRC) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglMakeCurrent, 2,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(hglrc),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglRealizeLayerPalette(hdc HDC, iLayerPlane int, bRealize bool) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglRealizeLayerPalette, 3,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iLayerPlane),
|
|
||||||
uintptr(BoolToBOOL(bRealize)))
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglSetLayerPaletteEntries(hdc HDC, iLayerPlane, iStart, cEntries int, pcr *COLORREF) int {
|
|
||||||
ret, _, _ := syscall.Syscall6(wglSetLayerPaletteEntries, 5,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iLayerPlane),
|
|
||||||
uintptr(iStart),
|
|
||||||
uintptr(cEntries),
|
|
||||||
uintptr(unsafe.Pointer(pcr)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return int(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglShareLists(hglrc1, hglrc2 HGLRC) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglShareLists, 2,
|
|
||||||
uintptr(hglrc1),
|
|
||||||
uintptr(hglrc2),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglSwapLayerBuffers(hdc HDC, fuPlanes uint) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(wglSwapLayerBuffers, 2,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(fuPlanes),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglUseFontBitmaps(hdc HDC, first, count, listbase uint32) bool {
|
|
||||||
ret, _, _ := syscall.Syscall6(wglUseFontBitmaps, 4,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(first),
|
|
||||||
uintptr(count),
|
|
||||||
uintptr(listbase),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func WglUseFontOutlines(hdc HDC, first, count, listbase uint32, deviation, extrusion float32, format int, pgmf *GLYPHMETRICSFLOAT) bool {
|
|
||||||
ret, _, _ := syscall.Syscall12(wglUseFontBitmaps, 8,
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(first),
|
|
||||||
uintptr(count),
|
|
||||||
uintptr(listbase),
|
|
||||||
uintptr(deviation),
|
|
||||||
uintptr(extrusion),
|
|
||||||
uintptr(format),
|
|
||||||
uintptr(unsafe.Pointer(pgmf)),
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
273
vendor/github.com/lxn/win/shdocvw.go
generated
vendored
273
vendor/github.com/lxn/win/shdocvw.go
generated
vendored
@ -1,273 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
DOCHOSTUIDBLCLK_DEFAULT = 0
|
|
||||||
DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1
|
|
||||||
DOCHOSTUIDBLCLK_SHOWCODE = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
DOCHOSTUIFLAG_DIALOG = 0x1
|
|
||||||
DOCHOSTUIFLAG_DISABLE_HELP_MENU = 0x2
|
|
||||||
DOCHOSTUIFLAG_NO3DBORDER = 0x4
|
|
||||||
DOCHOSTUIFLAG_SCROLL_NO = 0x8
|
|
||||||
DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 0x10
|
|
||||||
DOCHOSTUIFLAG_OPENNEWWIN = 0x20
|
|
||||||
DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 0x40
|
|
||||||
DOCHOSTUIFLAG_FLAT_SCROLLBAR = 0x80
|
|
||||||
DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 0x100
|
|
||||||
DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 0x200
|
|
||||||
DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = 0x400
|
|
||||||
DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = 0x800
|
|
||||||
DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = 0x1000
|
|
||||||
DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = 0x2000
|
|
||||||
DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = 0x4000
|
|
||||||
DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = 0x10000
|
|
||||||
DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = 0x20000
|
|
||||||
DOCHOSTUIFLAG_THEME = 0x40000
|
|
||||||
DOCHOSTUIFLAG_NOTHEME = 0x80000
|
|
||||||
DOCHOSTUIFLAG_NOPICS = 0x100000
|
|
||||||
DOCHOSTUIFLAG_NO3DOUTERBORDER = 0x200000
|
|
||||||
DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP = 0x400000
|
|
||||||
DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = 0x800000
|
|
||||||
DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL = 0x1000000
|
|
||||||
)
|
|
||||||
|
|
||||||
// BrowserNavConstants
|
|
||||||
const (
|
|
||||||
NavOpenInNewWindow = 0x1
|
|
||||||
NavNoHistory = 0x2
|
|
||||||
NavNoReadFromCache = 0x4
|
|
||||||
NavNoWriteToCache = 0x8
|
|
||||||
NavAllowAutosearch = 0x10
|
|
||||||
NavBrowserBar = 0x20
|
|
||||||
NavHyperlink = 0x40
|
|
||||||
NavEnforceRestricted = 0x80
|
|
||||||
NavNewWindowsManaged = 0x0100
|
|
||||||
NavUntrustedForDownload = 0x0200
|
|
||||||
NavTrustedForActiveX = 0x0400
|
|
||||||
NavOpenInNewTab = 0x0800
|
|
||||||
NavOpenInBackgroundTab = 0x1000
|
|
||||||
NavKeepWordWheelText = 0x2000
|
|
||||||
NavVirtualTab = 0x4000
|
|
||||||
NavBlockRedirectsXDomain = 0x8000
|
|
||||||
NavOpenNewForegroundTab = 0x10000
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
CLSID_WebBrowser = CLSID{0x8856F961, 0x340A, 0x11D0, [8]byte{0xA9, 0x6B, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2}}
|
|
||||||
DIID_DWebBrowserEvents2 = IID{0x34A715A0, 0x6587, 0x11D0, [8]byte{0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D}}
|
|
||||||
IID_IWebBrowser2 = IID{0xD30C1661, 0xCDAF, 0x11D0, [8]byte{0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E}}
|
|
||||||
IID_IDocHostUIHandler = IID{0xBD3F23C0, 0xD43E, 0x11CF, [8]byte{0x89, 0x3B, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x1A}}
|
|
||||||
)
|
|
||||||
|
|
||||||
type DWebBrowserEvents2Vtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetTypeInfoCount uintptr
|
|
||||||
GetTypeInfo uintptr
|
|
||||||
GetIDsOfNames uintptr
|
|
||||||
Invoke uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type DWebBrowserEvents2 struct {
|
|
||||||
LpVtbl *DWebBrowserEvents2Vtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type IWebBrowser2Vtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
GetTypeInfoCount uintptr
|
|
||||||
GetTypeInfo uintptr
|
|
||||||
GetIDsOfNames uintptr
|
|
||||||
Invoke uintptr
|
|
||||||
GoBack uintptr
|
|
||||||
GoForward uintptr
|
|
||||||
GoHome uintptr
|
|
||||||
GoSearch uintptr
|
|
||||||
Navigate uintptr
|
|
||||||
Refresh uintptr
|
|
||||||
Refresh2 uintptr
|
|
||||||
Stop uintptr
|
|
||||||
Get_Application uintptr
|
|
||||||
Get_Parent uintptr
|
|
||||||
Get_Container uintptr
|
|
||||||
Get_Document uintptr
|
|
||||||
Get_TopLevelContainer uintptr
|
|
||||||
Get_Type uintptr
|
|
||||||
Get_Left uintptr
|
|
||||||
Put_Left uintptr
|
|
||||||
Get_Top uintptr
|
|
||||||
Put_Top uintptr
|
|
||||||
Get_Width uintptr
|
|
||||||
Put_Width uintptr
|
|
||||||
Get_Height uintptr
|
|
||||||
Put_Height uintptr
|
|
||||||
Get_LocationName uintptr
|
|
||||||
Get_LocationURL uintptr
|
|
||||||
Get_Busy uintptr
|
|
||||||
Quit uintptr
|
|
||||||
ClientToWindow uintptr
|
|
||||||
PutProperty uintptr
|
|
||||||
GetProperty uintptr
|
|
||||||
Get_Name uintptr
|
|
||||||
Get_HWND uintptr
|
|
||||||
Get_FullName uintptr
|
|
||||||
Get_Path uintptr
|
|
||||||
Get_Visible uintptr
|
|
||||||
Put_Visible uintptr
|
|
||||||
Get_StatusBar uintptr
|
|
||||||
Put_StatusBar uintptr
|
|
||||||
Get_StatusText uintptr
|
|
||||||
Put_StatusText uintptr
|
|
||||||
Get_ToolBar uintptr
|
|
||||||
Put_ToolBar uintptr
|
|
||||||
Get_MenuBar uintptr
|
|
||||||
Put_MenuBar uintptr
|
|
||||||
Get_FullScreen uintptr
|
|
||||||
Put_FullScreen uintptr
|
|
||||||
Navigate2 uintptr
|
|
||||||
QueryStatusWB uintptr
|
|
||||||
ExecWB uintptr
|
|
||||||
ShowBrowserBar uintptr
|
|
||||||
Get_ReadyState uintptr
|
|
||||||
Get_Offline uintptr
|
|
||||||
Put_Offline uintptr
|
|
||||||
Get_Silent uintptr
|
|
||||||
Put_Silent uintptr
|
|
||||||
Get_RegisterAsBrowser uintptr
|
|
||||||
Put_RegisterAsBrowser uintptr
|
|
||||||
Get_RegisterAsDropTarget uintptr
|
|
||||||
Put_RegisterAsDropTarget uintptr
|
|
||||||
Get_TheaterMode uintptr
|
|
||||||
Put_TheaterMode uintptr
|
|
||||||
Get_AddressBar uintptr
|
|
||||||
Put_AddressBar uintptr
|
|
||||||
Get_Resizable uintptr
|
|
||||||
Put_Resizable uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IWebBrowser2 struct {
|
|
||||||
LpVtbl *IWebBrowser2Vtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Release() HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Release, 1,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Refresh() HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Refresh, 1,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Put_Left(Left int32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Put_Left, 2,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(Left),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Put_Top(Top int32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Put_Top, 2,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(Top),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Put_Width(Width int32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Put_Width, 2,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(Width),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Put_Height(Height int32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Put_Height, 2,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(Height),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Get_LocationURL(pbstrLocationURL **uint16 /*BSTR*/) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(wb2.LpVtbl.Get_LocationURL, 2,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(unsafe.Pointer(pbstrLocationURL)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (wb2 *IWebBrowser2) Navigate2(URL *VAR_BSTR, Flags *VAR_I4, TargetFrameName *VAR_BSTR, PostData unsafe.Pointer, Headers *VAR_BSTR) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(wb2.LpVtbl.Navigate2, 6,
|
|
||||||
uintptr(unsafe.Pointer(wb2)),
|
|
||||||
uintptr(unsafe.Pointer(URL)),
|
|
||||||
uintptr(unsafe.Pointer(Flags)),
|
|
||||||
uintptr(unsafe.Pointer(TargetFrameName)),
|
|
||||||
uintptr(PostData),
|
|
||||||
uintptr(unsafe.Pointer(Headers)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
type IDocHostUIHandlerVtbl struct {
|
|
||||||
QueryInterface uintptr
|
|
||||||
AddRef uintptr
|
|
||||||
Release uintptr
|
|
||||||
ShowContextMenu uintptr
|
|
||||||
GetHostInfo uintptr
|
|
||||||
ShowUI uintptr
|
|
||||||
HideUI uintptr
|
|
||||||
UpdateUI uintptr
|
|
||||||
EnableModeless uintptr
|
|
||||||
OnDocWindowActivate uintptr
|
|
||||||
OnFrameWindowActivate uintptr
|
|
||||||
ResizeBorder uintptr
|
|
||||||
TranslateAccelerator uintptr
|
|
||||||
GetOptionKeyPath uintptr
|
|
||||||
GetDropTarget uintptr
|
|
||||||
GetExternal uintptr
|
|
||||||
TranslateUrl uintptr
|
|
||||||
FilterDataObject uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type IDocHostUIHandler struct {
|
|
||||||
LpVtbl *IDocHostUIHandlerVtbl
|
|
||||||
}
|
|
||||||
|
|
||||||
type DOCHOSTUIINFO struct {
|
|
||||||
CbSize uint32
|
|
||||||
DwFlags uint32
|
|
||||||
DwDoubleClick uint32
|
|
||||||
PchHostCss *uint16
|
|
||||||
PchHostNS *uint16
|
|
||||||
}
|
|
297
vendor/github.com/lxn/win/shell32.go
generated
vendored
297
vendor/github.com/lxn/win/shell32.go
generated
vendored
@ -1,297 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CSIDL uint32
|
|
||||||
type HDROP HANDLE
|
|
||||||
|
|
||||||
const (
|
|
||||||
CSIDL_DESKTOP = 0x00
|
|
||||||
CSIDL_INTERNET = 0x01
|
|
||||||
CSIDL_PROGRAMS = 0x02
|
|
||||||
CSIDL_CONTROLS = 0x03
|
|
||||||
CSIDL_PRINTERS = 0x04
|
|
||||||
CSIDL_PERSONAL = 0x05
|
|
||||||
CSIDL_FAVORITES = 0x06
|
|
||||||
CSIDL_STARTUP = 0x07
|
|
||||||
CSIDL_RECENT = 0x08
|
|
||||||
CSIDL_SENDTO = 0x09
|
|
||||||
CSIDL_BITBUCKET = 0x0A
|
|
||||||
CSIDL_STARTMENU = 0x0B
|
|
||||||
CSIDL_MYDOCUMENTS = 0x0C
|
|
||||||
CSIDL_MYMUSIC = 0x0D
|
|
||||||
CSIDL_MYVIDEO = 0x0E
|
|
||||||
CSIDL_DESKTOPDIRECTORY = 0x10
|
|
||||||
CSIDL_DRIVES = 0x11
|
|
||||||
CSIDL_NETWORK = 0x12
|
|
||||||
CSIDL_NETHOOD = 0x13
|
|
||||||
CSIDL_FONTS = 0x14
|
|
||||||
CSIDL_TEMPLATES = 0x15
|
|
||||||
CSIDL_COMMON_STARTMENU = 0x16
|
|
||||||
CSIDL_COMMON_PROGRAMS = 0x17
|
|
||||||
CSIDL_COMMON_STARTUP = 0x18
|
|
||||||
CSIDL_COMMON_DESKTOPDIRECTORY = 0x19
|
|
||||||
CSIDL_APPDATA = 0x1A
|
|
||||||
CSIDL_PRINTHOOD = 0x1B
|
|
||||||
CSIDL_LOCAL_APPDATA = 0x1C
|
|
||||||
CSIDL_ALTSTARTUP = 0x1D
|
|
||||||
CSIDL_COMMON_ALTSTARTUP = 0x1E
|
|
||||||
CSIDL_COMMON_FAVORITES = 0x1F
|
|
||||||
CSIDL_INTERNET_CACHE = 0x20
|
|
||||||
CSIDL_COOKIES = 0x21
|
|
||||||
CSIDL_HISTORY = 0x22
|
|
||||||
CSIDL_COMMON_APPDATA = 0x23
|
|
||||||
CSIDL_WINDOWS = 0x24
|
|
||||||
CSIDL_SYSTEM = 0x25
|
|
||||||
CSIDL_PROGRAM_FILES = 0x26
|
|
||||||
CSIDL_MYPICTURES = 0x27
|
|
||||||
CSIDL_PROFILE = 0x28
|
|
||||||
CSIDL_SYSTEMX86 = 0x29
|
|
||||||
CSIDL_PROGRAM_FILESX86 = 0x2A
|
|
||||||
CSIDL_PROGRAM_FILES_COMMON = 0x2B
|
|
||||||
CSIDL_PROGRAM_FILES_COMMONX86 = 0x2C
|
|
||||||
CSIDL_COMMON_TEMPLATES = 0x2D
|
|
||||||
CSIDL_COMMON_DOCUMENTS = 0x2E
|
|
||||||
CSIDL_COMMON_ADMINTOOLS = 0x2F
|
|
||||||
CSIDL_ADMINTOOLS = 0x30
|
|
||||||
CSIDL_CONNECTIONS = 0x31
|
|
||||||
CSIDL_COMMON_MUSIC = 0x35
|
|
||||||
CSIDL_COMMON_PICTURES = 0x36
|
|
||||||
CSIDL_COMMON_VIDEO = 0x37
|
|
||||||
CSIDL_RESOURCES = 0x38
|
|
||||||
CSIDL_RESOURCES_LOCALIZED = 0x39
|
|
||||||
CSIDL_COMMON_OEM_LINKS = 0x3A
|
|
||||||
CSIDL_CDBURN_AREA = 0x3B
|
|
||||||
CSIDL_COMPUTERSNEARME = 0x3D
|
|
||||||
CSIDL_FLAG_CREATE = 0x8000
|
|
||||||
CSIDL_FLAG_DONT_VERIFY = 0x4000
|
|
||||||
CSIDL_FLAG_NO_ALIAS = 0x1000
|
|
||||||
CSIDL_FLAG_PER_USER_INIT = 0x8000
|
|
||||||
CSIDL_FLAG_MASK = 0xFF00
|
|
||||||
)
|
|
||||||
|
|
||||||
// NotifyIcon flags
|
|
||||||
const (
|
|
||||||
NIF_MESSAGE = 0x00000001
|
|
||||||
NIF_ICON = 0x00000002
|
|
||||||
NIF_TIP = 0x00000004
|
|
||||||
NIF_STATE = 0x00000008
|
|
||||||
NIF_INFO = 0x00000010
|
|
||||||
)
|
|
||||||
|
|
||||||
// NotifyIcon messages
|
|
||||||
const (
|
|
||||||
NIM_ADD = 0x00000000
|
|
||||||
NIM_MODIFY = 0x00000001
|
|
||||||
NIM_DELETE = 0x00000002
|
|
||||||
NIM_SETFOCUS = 0x00000003
|
|
||||||
NIM_SETVERSION = 0x00000004
|
|
||||||
)
|
|
||||||
|
|
||||||
// NotifyIcon states
|
|
||||||
const (
|
|
||||||
NIS_HIDDEN = 0x00000001
|
|
||||||
NIS_SHAREDICON = 0x00000002
|
|
||||||
)
|
|
||||||
|
|
||||||
// NotifyIcon info flags
|
|
||||||
const (
|
|
||||||
NIIF_NONE = 0x00000000
|
|
||||||
NIIF_INFO = 0x00000001
|
|
||||||
NIIF_WARNING = 0x00000002
|
|
||||||
NIIF_ERROR = 0x00000003
|
|
||||||
NIIF_USER = 0x00000004
|
|
||||||
NIIF_NOSOUND = 0x00000010
|
|
||||||
)
|
|
||||||
|
|
||||||
const NOTIFYICON_VERSION = 3
|
|
||||||
|
|
||||||
// SHGetFileInfo flags
|
|
||||||
const (
|
|
||||||
SHGFI_LARGEICON = 0x000000000
|
|
||||||
SHGFI_SMALLICON = 0x000000001
|
|
||||||
SHGFI_OPENICON = 0x000000002
|
|
||||||
SHGFI_SHELLICONSIZE = 0x000000004
|
|
||||||
SHGFI_PIDL = 0x000000008
|
|
||||||
SHGFI_USEFILEATTRIBUTES = 0x000000010
|
|
||||||
SHGFI_ADDOVERLAYS = 0x000000020
|
|
||||||
SHGFI_OVERLAYINDEX = 0x000000040
|
|
||||||
SHGFI_ICON = 0x000000100
|
|
||||||
SHGFI_DISPLAYNAME = 0x000000200
|
|
||||||
SHGFI_TYPENAME = 0x000000400
|
|
||||||
SHGFI_ATTRIBUTES = 0x000000800
|
|
||||||
SHGFI_ICONLOCATION = 0x000001000
|
|
||||||
SHGFI_EXETYPE = 0x000002000
|
|
||||||
SHGFI_SYSICONINDEX = 0x000004000
|
|
||||||
SHGFI_LINKOVERLAY = 0x000008000
|
|
||||||
SHGFI_SELECTED = 0x000010000
|
|
||||||
SHGFI_ATTR_SPECIFIED = 0x000020000
|
|
||||||
)
|
|
||||||
|
|
||||||
type NOTIFYICONDATA struct {
|
|
||||||
CbSize uint32
|
|
||||||
HWnd HWND
|
|
||||||
UID uint32
|
|
||||||
UFlags uint32
|
|
||||||
UCallbackMessage uint32
|
|
||||||
HIcon HICON
|
|
||||||
SzTip [128]uint16
|
|
||||||
DwState uint32
|
|
||||||
DwStateMask uint32
|
|
||||||
SzInfo [256]uint16
|
|
||||||
UVersion uint32
|
|
||||||
SzInfoTitle [64]uint16
|
|
||||||
DwInfoFlags uint32
|
|
||||||
GuidItem syscall.GUID
|
|
||||||
}
|
|
||||||
|
|
||||||
type SHFILEINFO struct {
|
|
||||||
HIcon HICON
|
|
||||||
IIcon int32
|
|
||||||
DwAttributes uint32
|
|
||||||
SzDisplayName [MAX_PATH]uint16
|
|
||||||
SzTypeName [80]uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
type BROWSEINFO struct {
|
|
||||||
HwndOwner HWND
|
|
||||||
PidlRoot uintptr
|
|
||||||
PszDisplayName *uint16
|
|
||||||
LpszTitle *uint16
|
|
||||||
UlFlags uint32
|
|
||||||
Lpfn uintptr
|
|
||||||
LParam uintptr
|
|
||||||
IImage int32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libshell32 uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
dragAcceptFiles uintptr
|
|
||||||
dragFinish uintptr
|
|
||||||
dragQueryFile uintptr
|
|
||||||
shBrowseForFolder uintptr
|
|
||||||
shGetFileInfo uintptr
|
|
||||||
shGetPathFromIDList uintptr
|
|
||||||
shGetSpecialFolderPath uintptr
|
|
||||||
shParseDisplayName uintptr
|
|
||||||
shell_NotifyIcon uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libshell32 = MustLoadLibrary("shell32.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
dragAcceptFiles = MustGetProcAddress(libshell32, "DragAcceptFiles")
|
|
||||||
dragFinish = MustGetProcAddress(libshell32, "DragFinish")
|
|
||||||
dragQueryFile = MustGetProcAddress(libshell32, "DragQueryFileW")
|
|
||||||
shBrowseForFolder = MustGetProcAddress(libshell32, "SHBrowseForFolderW")
|
|
||||||
shGetFileInfo = MustGetProcAddress(libshell32, "SHGetFileInfoW")
|
|
||||||
shGetPathFromIDList = MustGetProcAddress(libshell32, "SHGetPathFromIDListW")
|
|
||||||
shGetSpecialFolderPath = MustGetProcAddress(libshell32, "SHGetSpecialFolderPathW")
|
|
||||||
shParseDisplayName = MustGetProcAddress(libshell32, "SHParseDisplayName")
|
|
||||||
shell_NotifyIcon = MustGetProcAddress(libshell32, "Shell_NotifyIconW")
|
|
||||||
}
|
|
||||||
|
|
||||||
func DragAcceptFiles(hWnd HWND, fAccept bool) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(dragAcceptFiles, 2,
|
|
||||||
uintptr(hWnd),
|
|
||||||
uintptr(BoolToBOOL(fAccept)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func DragQueryFile(hDrop HDROP, iFile uint, lpszFile *uint16, cch uint) uint {
|
|
||||||
ret, _, _ := syscall.Syscall6(dragQueryFile, 4,
|
|
||||||
uintptr(hDrop),
|
|
||||||
uintptr(iFile),
|
|
||||||
uintptr(unsafe.Pointer(lpszFile)),
|
|
||||||
uintptr(cch),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DragFinish(hDrop HDROP) {
|
|
||||||
syscall.Syscall(dragAcceptFiles, 1,
|
|
||||||
uintptr(hDrop),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SHBrowseForFolder(lpbi *BROWSEINFO) uintptr {
|
|
||||||
ret, _, _ := syscall.Syscall(shBrowseForFolder, 1,
|
|
||||||
uintptr(unsafe.Pointer(lpbi)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
func SHGetFileInfo(pszPath *uint16, dwFileAttributes uint32, psfi *SHFILEINFO, cbFileInfo, uFlags uint32) uintptr {
|
|
||||||
ret, _, _ := syscall.Syscall6(shGetFileInfo, 5,
|
|
||||||
uintptr(unsafe.Pointer(pszPath)),
|
|
||||||
uintptr(dwFileAttributes),
|
|
||||||
uintptr(unsafe.Pointer(psfi)),
|
|
||||||
uintptr(cbFileInfo),
|
|
||||||
uintptr(uFlags),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
func SHGetPathFromIDList(pidl uintptr, pszPath *uint16) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(shGetPathFromIDList, 2,
|
|
||||||
pidl,
|
|
||||||
uintptr(unsafe.Pointer(pszPath)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func SHGetSpecialFolderPath(hwndOwner HWND, lpszPath *uint16, csidl CSIDL, fCreate bool) bool {
|
|
||||||
ret, _, _ := syscall.Syscall6(shGetSpecialFolderPath, 4,
|
|
||||||
uintptr(hwndOwner),
|
|
||||||
uintptr(unsafe.Pointer(lpszPath)),
|
|
||||||
uintptr(csidl),
|
|
||||||
uintptr(BoolToBOOL(fCreate)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func SHParseDisplayName(pszName *uint16, pbc uintptr, ppidl *uintptr, sfgaoIn uint32, psfgaoOut *uint32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(shParseDisplayName, 5,
|
|
||||||
uintptr(unsafe.Pointer(pszName)),
|
|
||||||
pbc,
|
|
||||||
uintptr(unsafe.Pointer(ppidl)),
|
|
||||||
0,
|
|
||||||
uintptr(unsafe.Pointer(psfgaoOut)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func Shell_NotifyIcon(dwMessage uint32, lpdata *NOTIFYICONDATA) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(shell_NotifyIcon, 2,
|
|
||||||
uintptr(dwMessage),
|
|
||||||
uintptr(unsafe.Pointer(lpdata)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
62
vendor/github.com/lxn/win/shobj.go
generated
vendored
62
vendor/github.com/lxn/win/shobj.go
generated
vendored
@ -1,62 +0,0 @@
|
|||||||
// 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)
|
|
||||||
}
|
|
24
vendor/github.com/lxn/win/shobj_386.go
generated
vendored
24
vendor/github.com/lxn/win/shobj_386.go
generated
vendored
@ -1,24 +0,0 @@
|
|||||||
// 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (obj *ITaskbarList3) SetProgressValue(hwnd HWND, current uint32, length uint32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(obj.LpVtbl.SetProgressValue, 6,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(hwnd),
|
|
||||||
uintptr(current),
|
|
||||||
0,
|
|
||||||
uintptr(length),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
24
vendor/github.com/lxn/win/shobj_amd64.go
generated
vendored
24
vendor/github.com/lxn/win/shobj_amd64.go
generated
vendored
@ -1,24 +0,0 @@
|
|||||||
// 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (obj *ITaskbarList3) SetProgressValue(hwnd HWND, current uint32, length uint32) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(obj.LpVtbl.SetProgressValue, 4,
|
|
||||||
uintptr(unsafe.Pointer(obj)),
|
|
||||||
uintptr(hwnd),
|
|
||||||
uintptr(current),
|
|
||||||
uintptr(length),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
50
vendor/github.com/lxn/win/statusbar.go
generated
vendored
50
vendor/github.com/lxn/win/statusbar.go
generated
vendored
@ -1,50 +0,0 @@
|
|||||||
// Copyright 2013 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
|
|
||||||
|
|
||||||
// Styles
|
|
||||||
const (
|
|
||||||
SBARS_SIZEGRIP = 0x100
|
|
||||||
SBARS_TOOLTIPS = 0x800
|
|
||||||
)
|
|
||||||
|
|
||||||
// Messages
|
|
||||||
const (
|
|
||||||
SB_SETPARTS = WM_USER + 4
|
|
||||||
SB_GETPARTS = WM_USER + 6
|
|
||||||
SB_GETBORDERS = WM_USER + 7
|
|
||||||
SB_SETMINHEIGHT = WM_USER + 8
|
|
||||||
SB_SIMPLE = WM_USER + 9
|
|
||||||
SB_GETRECT = WM_USER + 10
|
|
||||||
SB_SETTEXT = WM_USER + 11
|
|
||||||
SB_GETTEXTLENGTH = WM_USER + 12
|
|
||||||
SB_GETTEXT = WM_USER + 13
|
|
||||||
SB_ISSIMPLE = WM_USER + 14
|
|
||||||
SB_SETICON = WM_USER + 15
|
|
||||||
SB_SETTIPTEXT = WM_USER + 17
|
|
||||||
SB_GETTIPTEXT = WM_USER + 19
|
|
||||||
SB_GETICON = WM_USER + 20
|
|
||||||
SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
||||||
SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
||||||
SB_SETBKCOLOR = CCM_SETBKCOLOR
|
|
||||||
)
|
|
||||||
|
|
||||||
// SB_SETTEXT options
|
|
||||||
const (
|
|
||||||
SBT_NOBORDERS = 0x100
|
|
||||||
SBT_POPOUT = 0x200
|
|
||||||
SBT_RTLREADING = 0x400
|
|
||||||
SBT_NOTABPARSING = 0x800
|
|
||||||
SBT_OWNERDRAW = 0x1000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
SBN_FIRST = -880
|
|
||||||
SBN_SIMPLEMODECHANGE = SBN_FIRST - 0
|
|
||||||
)
|
|
||||||
|
|
||||||
const SB_SIMPLEID = 0xff
|
|
65
vendor/github.com/lxn/win/syslink.go
generated
vendored
65
vendor/github.com/lxn/win/syslink.go
generated
vendored
@ -1,65 +0,0 @@
|
|||||||
// Copyright 2017 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
|
|
||||||
|
|
||||||
const (
|
|
||||||
INVALID_LINK_INDEX = -1
|
|
||||||
MAX_LINKID_TEXT = 48
|
|
||||||
L_MAX_URL_LENGTH = 2048 + 32 + len("://")
|
|
||||||
WC_LINK = "SysLink"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
LWS_TRANSPARENT = 0x0001
|
|
||||||
LWS_IGNORERETURN = 0x0002
|
|
||||||
LWS_NOPREFIX = 0x0004
|
|
||||||
LWS_USEVISUALSTYLE = 0x0008
|
|
||||||
LWS_USECUSTOMTEXT = 0x0010
|
|
||||||
LWS_RIGHT = 0x0020
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
LIF_ITEMINDEX = 0x00000001
|
|
||||||
LIF_STATE = 0x00000002
|
|
||||||
LIF_ITEMID = 0x00000004
|
|
||||||
LIF_URL = 0x00000008
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
LIS_FOCUSED = 0x00000001
|
|
||||||
LIS_ENABLED = 0x00000002
|
|
||||||
LIS_VISITED = 0x00000004
|
|
||||||
LIS_HOTTRACK = 0x00000008
|
|
||||||
LIS_DEFAULTCOLORS = 0x00000010
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
LM_HITTEST = WM_USER + 0x300
|
|
||||||
LM_GETIDEALHEIGHT = WM_USER + 0x301
|
|
||||||
LM_SETITEM = WM_USER + 0x302
|
|
||||||
LM_GETITEM = WM_USER + 0x303
|
|
||||||
LM_GETIDEALSIZE = LM_GETIDEALHEIGHT
|
|
||||||
)
|
|
||||||
|
|
||||||
type LITEM struct {
|
|
||||||
Mask uint32
|
|
||||||
ILink int32
|
|
||||||
State uint32
|
|
||||||
StateMask uint32
|
|
||||||
SzID [MAX_LINKID_TEXT]uint16
|
|
||||||
SzUrl [L_MAX_URL_LENGTH]uint16
|
|
||||||
}
|
|
||||||
|
|
||||||
type LHITTESTINFO struct {
|
|
||||||
Pt POINT
|
|
||||||
Item LITEM
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMLINK struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
Item LITEM
|
|
||||||
}
|
|
128
vendor/github.com/lxn/win/tab.go
generated
vendored
128
vendor/github.com/lxn/win/tab.go
generated
vendored
@ -1,128 +0,0 @@
|
|||||||
// Copyright 2011 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
|
|
||||||
|
|
||||||
const TCM_FIRST = 0x1300
|
|
||||||
const TCN_FIRST = -550
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCS_SCROLLOPPOSITE = 0x0001
|
|
||||||
TCS_BOTTOM = 0x0002
|
|
||||||
TCS_RIGHT = 0x0002
|
|
||||||
TCS_MULTISELECT = 0x0004
|
|
||||||
TCS_FLATBUTTONS = 0x0008
|
|
||||||
TCS_FORCEICONLEFT = 0x0010
|
|
||||||
TCS_FORCELABELLEFT = 0x0020
|
|
||||||
TCS_HOTTRACK = 0x0040
|
|
||||||
TCS_VERTICAL = 0x0080
|
|
||||||
TCS_TABS = 0x0000
|
|
||||||
TCS_BUTTONS = 0x0100
|
|
||||||
TCS_SINGLELINE = 0x0000
|
|
||||||
TCS_MULTILINE = 0x0200
|
|
||||||
TCS_RIGHTJUSTIFY = 0x0000
|
|
||||||
TCS_FIXEDWIDTH = 0x0400
|
|
||||||
TCS_RAGGEDRIGHT = 0x0800
|
|
||||||
TCS_FOCUSONBUTTONDOWN = 0x1000
|
|
||||||
TCS_OWNERDRAWFIXED = 0x2000
|
|
||||||
TCS_TOOLTIPS = 0x4000
|
|
||||||
TCS_FOCUSNEVER = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCS_EX_FLATSEPARATORS = 0x00000001
|
|
||||||
TCS_EX_REGISTERDROP = 0x00000002
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCM_GETIMAGELIST = TCM_FIRST + 2
|
|
||||||
TCM_SETIMAGELIST = TCM_FIRST + 3
|
|
||||||
TCM_GETITEMCOUNT = TCM_FIRST + 4
|
|
||||||
TCM_GETITEM = TCM_FIRST + 60
|
|
||||||
TCM_SETITEM = TCM_FIRST + 61
|
|
||||||
TCM_INSERTITEM = TCM_FIRST + 62
|
|
||||||
TCM_DELETEITEM = TCM_FIRST + 8
|
|
||||||
TCM_DELETEALLITEMS = TCM_FIRST + 9
|
|
||||||
TCM_GETITEMRECT = TCM_FIRST + 10
|
|
||||||
TCM_GETCURSEL = TCM_FIRST + 11
|
|
||||||
TCM_SETCURSEL = TCM_FIRST + 12
|
|
||||||
TCM_HITTEST = TCM_FIRST + 13
|
|
||||||
TCM_SETITEMEXTRA = TCM_FIRST + 14
|
|
||||||
TCM_ADJUSTRECT = TCM_FIRST + 40
|
|
||||||
TCM_SETITEMSIZE = TCM_FIRST + 41
|
|
||||||
TCM_REMOVEIMAGE = TCM_FIRST + 42
|
|
||||||
TCM_SETPADDING = TCM_FIRST + 43
|
|
||||||
TCM_GETROWCOUNT = TCM_FIRST + 44
|
|
||||||
TCM_GETTOOLTIPS = TCM_FIRST + 45
|
|
||||||
TCM_SETTOOLTIPS = TCM_FIRST + 46
|
|
||||||
TCM_GETCURFOCUS = TCM_FIRST + 47
|
|
||||||
TCM_SETCURFOCUS = TCM_FIRST + 48
|
|
||||||
TCM_SETMINTABWIDTH = TCM_FIRST + 49
|
|
||||||
TCM_DESELECTALL = TCM_FIRST + 50
|
|
||||||
TCM_HIGHLIGHTITEM = TCM_FIRST + 51
|
|
||||||
TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52
|
|
||||||
TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53
|
|
||||||
TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
||||||
TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCIF_TEXT = 0x0001
|
|
||||||
TCIF_IMAGE = 0x0002
|
|
||||||
TCIF_RTLREADING = 0x0004
|
|
||||||
TCIF_PARAM = 0x0008
|
|
||||||
TCIF_STATE = 0x0010
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCIS_BUTTONPRESSED = 0x0001
|
|
||||||
TCIS_HIGHLIGHTED = 0x0002
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCHT_NOWHERE = 0x0001
|
|
||||||
TCHT_ONITEMICON = 0x0002
|
|
||||||
TCHT_ONITEMLABEL = 0x0004
|
|
||||||
TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TCN_KEYDOWN = TCN_FIRST - 0
|
|
||||||
TCN_SELCHANGE = TCN_FIRST - 1
|
|
||||||
TCN_SELCHANGING = TCN_FIRST - 2
|
|
||||||
TCN_GETOBJECT = TCN_FIRST - 3
|
|
||||||
TCN_FOCUSCHANGE = TCN_FIRST - 4
|
|
||||||
)
|
|
||||||
|
|
||||||
type TCITEMHEADER struct {
|
|
||||||
Mask uint32
|
|
||||||
LpReserved1 uint32
|
|
||||||
LpReserved2 uint32
|
|
||||||
PszText *uint16
|
|
||||||
CchTextMax int32
|
|
||||||
IImage int32
|
|
||||||
}
|
|
||||||
|
|
||||||
type TCITEM struct {
|
|
||||||
Mask uint32
|
|
||||||
DwState uint32
|
|
||||||
DwStateMask uint32
|
|
||||||
PszText *uint16
|
|
||||||
CchTextMax int32
|
|
||||||
IImage int32
|
|
||||||
LParam uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type TCHITTESTINFO struct {
|
|
||||||
Pt POINT
|
|
||||||
flags uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMTCKEYDOWN struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
WVKey uint16
|
|
||||||
Flags uint32
|
|
||||||
}
|
|
219
vendor/github.com/lxn/win/toolbar.go
generated
vendored
219
vendor/github.com/lxn/win/toolbar.go
generated
vendored
@ -1,219 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
// ToolBar messages
|
|
||||||
const (
|
|
||||||
TB_THUMBPOSITION = 4
|
|
||||||
TB_THUMBTRACK = 5
|
|
||||||
TB_ENDTRACK = 8
|
|
||||||
TB_ENABLEBUTTON = WM_USER + 1
|
|
||||||
TB_CHECKBUTTON = WM_USER + 2
|
|
||||||
TB_PRESSBUTTON = WM_USER + 3
|
|
||||||
TB_HIDEBUTTON = WM_USER + 4
|
|
||||||
TB_INDETERMINATE = WM_USER + 5
|
|
||||||
TB_MARKBUTTON = WM_USER + 6
|
|
||||||
TB_ISBUTTONENABLED = WM_USER + 9
|
|
||||||
TB_ISBUTTONCHECKED = WM_USER + 10
|
|
||||||
TB_ISBUTTONPRESSED = WM_USER + 11
|
|
||||||
TB_ISBUTTONHIDDEN = WM_USER + 12
|
|
||||||
TB_ISBUTTONINDETERMINATE = WM_USER + 13
|
|
||||||
TB_ISBUTTONHIGHLIGHTED = WM_USER + 14
|
|
||||||
TB_SETSTATE = WM_USER + 17
|
|
||||||
TB_GETSTATE = WM_USER + 18
|
|
||||||
TB_ADDBITMAP = WM_USER + 19
|
|
||||||
TB_DELETEBUTTON = WM_USER + 22
|
|
||||||
TB_GETBUTTON = WM_USER + 23
|
|
||||||
TB_BUTTONCOUNT = WM_USER + 24
|
|
||||||
TB_COMMANDTOINDEX = WM_USER + 25
|
|
||||||
TB_SAVERESTORE = WM_USER + 76
|
|
||||||
TB_CUSTOMIZE = WM_USER + 27
|
|
||||||
TB_ADDSTRING = WM_USER + 77
|
|
||||||
TB_GETITEMRECT = WM_USER + 29
|
|
||||||
TB_BUTTONSTRUCTSIZE = WM_USER + 30
|
|
||||||
TB_SETBUTTONSIZE = WM_USER + 31
|
|
||||||
TB_SETBITMAPSIZE = WM_USER + 32
|
|
||||||
TB_AUTOSIZE = WM_USER + 33
|
|
||||||
TB_GETTOOLTIPS = WM_USER + 35
|
|
||||||
TB_SETTOOLTIPS = WM_USER + 36
|
|
||||||
TB_SETPARENT = WM_USER + 37
|
|
||||||
TB_SETROWS = WM_USER + 39
|
|
||||||
TB_GETROWS = WM_USER + 40
|
|
||||||
TB_GETBITMAPFLAGS = WM_USER + 41
|
|
||||||
TB_SETCMDID = WM_USER + 42
|
|
||||||
TB_CHANGEBITMAP = WM_USER + 43
|
|
||||||
TB_GETBITMAP = WM_USER + 44
|
|
||||||
TB_GETBUTTONTEXT = WM_USER + 75
|
|
||||||
TB_REPLACEBITMAP = WM_USER + 46
|
|
||||||
TB_GETBUTTONSIZE = WM_USER + 58
|
|
||||||
TB_SETBUTTONWIDTH = WM_USER + 59
|
|
||||||
TB_SETINDENT = WM_USER + 47
|
|
||||||
TB_SETIMAGELIST = WM_USER + 48
|
|
||||||
TB_GETIMAGELIST = WM_USER + 49
|
|
||||||
TB_LOADIMAGES = WM_USER + 50
|
|
||||||
TB_GETRECT = WM_USER + 51
|
|
||||||
TB_SETHOTIMAGELIST = WM_USER + 52
|
|
||||||
TB_GETHOTIMAGELIST = WM_USER + 53
|
|
||||||
TB_SETDISABLEDIMAGELIST = WM_USER + 54
|
|
||||||
TB_GETDISABLEDIMAGELIST = WM_USER + 55
|
|
||||||
TB_SETSTYLE = WM_USER + 56
|
|
||||||
TB_GETSTYLE = WM_USER + 57
|
|
||||||
TB_SETMAXTEXTROWS = WM_USER + 60
|
|
||||||
TB_GETTEXTROWS = WM_USER + 61
|
|
||||||
TB_GETOBJECT = WM_USER + 62
|
|
||||||
TB_GETBUTTONINFO = WM_USER + 63
|
|
||||||
TB_SETBUTTONINFO = WM_USER + 64
|
|
||||||
TB_INSERTBUTTON = WM_USER + 67
|
|
||||||
TB_ADDBUTTONS = WM_USER + 68
|
|
||||||
TB_HITTEST = WM_USER + 69
|
|
||||||
TB_SETDRAWTEXTFLAGS = WM_USER + 70
|
|
||||||
TB_GETHOTITEM = WM_USER + 71
|
|
||||||
TB_SETHOTITEM = WM_USER + 72
|
|
||||||
TB_SETANCHORHIGHLIGHT = WM_USER + 73
|
|
||||||
TB_GETANCHORHIGHLIGHT = WM_USER + 74
|
|
||||||
TB_GETINSERTMARK = WM_USER + 79
|
|
||||||
TB_SETINSERTMARK = WM_USER + 80
|
|
||||||
TB_INSERTMARKHITTEST = WM_USER + 81
|
|
||||||
TB_MOVEBUTTON = WM_USER + 82
|
|
||||||
TB_GETMAXSIZE = WM_USER + 83
|
|
||||||
TB_SETEXTENDEDSTYLE = WM_USER + 84
|
|
||||||
TB_GETEXTENDEDSTYLE = WM_USER + 85
|
|
||||||
TB_GETPADDING = WM_USER + 86
|
|
||||||
TB_SETPADDING = WM_USER + 87
|
|
||||||
TB_SETINSERTMARKCOLOR = WM_USER + 88
|
|
||||||
TB_GETINSERTMARKCOLOR = WM_USER + 89
|
|
||||||
TB_MAPACCELERATOR = WM_USER + 90
|
|
||||||
TB_GETSTRING = WM_USER + 91
|
|
||||||
TB_GETIDEALSIZE = WM_USER + 99
|
|
||||||
TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME
|
|
||||||
TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME
|
|
||||||
TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
||||||
TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolBar notifications
|
|
||||||
const (
|
|
||||||
TBN_FIRST = -700
|
|
||||||
TBN_DROPDOWN = TBN_FIRST - 10
|
|
||||||
)
|
|
||||||
|
|
||||||
// TBN_DROPDOWN return codes
|
|
||||||
const (
|
|
||||||
TBDDRET_DEFAULT = 0
|
|
||||||
TBDDRET_NODEFAULT = 1
|
|
||||||
TBDDRET_TREATPRESSED = 2
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolBar state constants
|
|
||||||
const (
|
|
||||||
TBSTATE_CHECKED = 1
|
|
||||||
TBSTATE_PRESSED = 2
|
|
||||||
TBSTATE_ENABLED = 4
|
|
||||||
TBSTATE_HIDDEN = 8
|
|
||||||
TBSTATE_INDETERMINATE = 16
|
|
||||||
TBSTATE_WRAP = 32
|
|
||||||
TBSTATE_ELLIPSES = 0x40
|
|
||||||
TBSTATE_MARKED = 0x0080
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolBar style constants
|
|
||||||
const (
|
|
||||||
TBSTYLE_BUTTON = 0
|
|
||||||
TBSTYLE_SEP = 1
|
|
||||||
TBSTYLE_CHECK = 2
|
|
||||||
TBSTYLE_GROUP = 4
|
|
||||||
TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK
|
|
||||||
TBSTYLE_DROPDOWN = 8
|
|
||||||
TBSTYLE_AUTOSIZE = 16
|
|
||||||
TBSTYLE_NOPREFIX = 32
|
|
||||||
TBSTYLE_TOOLTIPS = 256
|
|
||||||
TBSTYLE_WRAPABLE = 512
|
|
||||||
TBSTYLE_ALTDRAG = 1024
|
|
||||||
TBSTYLE_FLAT = 2048
|
|
||||||
TBSTYLE_LIST = 4096
|
|
||||||
TBSTYLE_CUSTOMERASE = 8192
|
|
||||||
TBSTYLE_REGISTERDROP = 0x4000
|
|
||||||
TBSTYLE_TRANSPARENT = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolBar extended style constants
|
|
||||||
const (
|
|
||||||
TBSTYLE_EX_DRAWDDARROWS = 0x00000001
|
|
||||||
TBSTYLE_EX_MIXEDBUTTONS = 8
|
|
||||||
TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16
|
|
||||||
TBSTYLE_EX_DOUBLEBUFFER = 0x80
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolBar button style constants
|
|
||||||
const (
|
|
||||||
BTNS_BUTTON = TBSTYLE_BUTTON
|
|
||||||
BTNS_SEP = TBSTYLE_SEP
|
|
||||||
BTNS_CHECK = TBSTYLE_CHECK
|
|
||||||
BTNS_GROUP = TBSTYLE_GROUP
|
|
||||||
BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP
|
|
||||||
BTNS_DROPDOWN = TBSTYLE_DROPDOWN
|
|
||||||
BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE
|
|
||||||
BTNS_NOPREFIX = TBSTYLE_NOPREFIX
|
|
||||||
BTNS_WHOLEDROPDOWN = 0x0080
|
|
||||||
BTNS_SHOWTEXT = 0x0040
|
|
||||||
)
|
|
||||||
|
|
||||||
// TBBUTTONINFO mask flags
|
|
||||||
const (
|
|
||||||
TBIF_IMAGE = 0x00000001
|
|
||||||
TBIF_TEXT = 0x00000002
|
|
||||||
TBIF_STATE = 0x00000004
|
|
||||||
TBIF_STYLE = 0x00000008
|
|
||||||
TBIF_LPARAM = 0x00000010
|
|
||||||
TBIF_COMMAND = 0x00000020
|
|
||||||
TBIF_SIZE = 0x00000040
|
|
||||||
TBIF_BYINDEX = 0x80000000
|
|
||||||
)
|
|
||||||
|
|
||||||
type NMMOUSE struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
DwItemSpec uintptr
|
|
||||||
DwItemData uintptr
|
|
||||||
Pt POINT
|
|
||||||
DwHitInfo uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMTOOLBAR struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
IItem int32
|
|
||||||
TbButton TBBUTTON
|
|
||||||
CchText int32
|
|
||||||
PszText *uint16
|
|
||||||
RcButton RECT
|
|
||||||
}
|
|
||||||
|
|
||||||
type TBBUTTON struct {
|
|
||||||
IBitmap int32
|
|
||||||
IdCommand int32
|
|
||||||
FsState byte
|
|
||||||
FsStyle byte
|
|
||||||
//#ifdef _WIN64
|
|
||||||
// BYTE bReserved[6] // padding for alignment
|
|
||||||
//#elif defined(_WIN32)
|
|
||||||
BReserved [2]byte // padding for alignment
|
|
||||||
//#endif
|
|
||||||
DwData uintptr
|
|
||||||
IString uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
type TBBUTTONINFO struct {
|
|
||||||
CbSize uint32
|
|
||||||
DwMask uint32
|
|
||||||
IdCommand int32
|
|
||||||
IImage int32
|
|
||||||
FsState byte
|
|
||||||
FsStyle byte
|
|
||||||
Cx uint16
|
|
||||||
LParam uintptr
|
|
||||||
PszText uintptr
|
|
||||||
CchText int32
|
|
||||||
}
|
|
97
vendor/github.com/lxn/win/tooltip.go
generated
vendored
97
vendor/github.com/lxn/win/tooltip.go
generated
vendored
@ -1,97 +0,0 @@
|
|||||||
// Copyright 2010 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 (
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolTip styles
|
|
||||||
const (
|
|
||||||
TTS_ALWAYSTIP = 0x01
|
|
||||||
TTS_NOPREFIX = 0x02
|
|
||||||
TTS_NOANIMATE = 0x10
|
|
||||||
TTS_NOFADE = 0x20
|
|
||||||
TTS_BALLOON = 0x40
|
|
||||||
TTS_CLOSE = 0x80
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolTip messages
|
|
||||||
const (
|
|
||||||
TTM_ACTIVATE = WM_USER + 1
|
|
||||||
TTM_SETDELAYTIME = WM_USER + 3
|
|
||||||
TTM_ADDTOOL = WM_USER + 50
|
|
||||||
TTM_DELTOOL = WM_USER + 51
|
|
||||||
TTM_NEWTOOLRECT = WM_USER + 52
|
|
||||||
TTM_RELAYEVENT = WM_USER + 7
|
|
||||||
TTM_GETTOOLINFO = WM_USER + 53
|
|
||||||
TTM_SETTOOLINFO = WM_USER + 54
|
|
||||||
TTM_HITTEST = WM_USER + 55
|
|
||||||
TTM_GETTEXT = WM_USER + 56
|
|
||||||
TTM_UPDATETIPTEXT = WM_USER + 57
|
|
||||||
TTM_GETTOOLCOUNT = WM_USER + 13
|
|
||||||
TTM_ENUMTOOLS = WM_USER + 58
|
|
||||||
TTM_GETCURRENTTOOL = WM_USER + 59
|
|
||||||
TTM_WINDOWFROMPOINT = WM_USER + 16
|
|
||||||
TTM_TRACKACTIVATE = WM_USER + 17
|
|
||||||
TTM_TRACKPOSITION = WM_USER + 18
|
|
||||||
TTM_SETTIPBKCOLOR = WM_USER + 19
|
|
||||||
TTM_SETTIPTEXTCOLOR = WM_USER + 20
|
|
||||||
TTM_GETDELAYTIME = WM_USER + 21
|
|
||||||
TTM_GETTIPBKCOLOR = WM_USER + 22
|
|
||||||
TTM_GETTIPTEXTCOLOR = WM_USER + 23
|
|
||||||
TTM_SETMAXTIPWIDTH = WM_USER + 24
|
|
||||||
TTM_GETMAXTIPWIDTH = WM_USER + 25
|
|
||||||
TTM_SETMARGIN = WM_USER + 26
|
|
||||||
TTM_GETMARGIN = WM_USER + 27
|
|
||||||
TTM_POP = WM_USER + 28
|
|
||||||
TTM_UPDATE = WM_USER + 29
|
|
||||||
TTM_GETBUBBLESIZE = WM_USER + 30
|
|
||||||
TTM_ADJUSTRECT = WM_USER + 31
|
|
||||||
TTM_SETTITLE = WM_USER + 33
|
|
||||||
TTM_POPUP = WM_USER + 34
|
|
||||||
TTM_GETTITLE = WM_USER + 35
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolTip flags
|
|
||||||
const (
|
|
||||||
TTF_IDISHWND = 0x0001
|
|
||||||
TTF_CENTERTIP = 0x0002
|
|
||||||
TTF_RTLREADING = 0x0004
|
|
||||||
TTF_SUBCLASS = 0x0010
|
|
||||||
TTF_TRACK = 0x0020
|
|
||||||
TTF_ABSOLUTE = 0x0080
|
|
||||||
TTF_TRANSPARENT = 0x0100
|
|
||||||
TTF_DI_SETITEM = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
// ToolTip icons
|
|
||||||
const (
|
|
||||||
TTI_NONE = 0
|
|
||||||
TTI_INFO = 1
|
|
||||||
TTI_WARNING = 2
|
|
||||||
TTI_ERROR = 3
|
|
||||||
)
|
|
||||||
|
|
||||||
type TOOLINFO struct {
|
|
||||||
CbSize uint32
|
|
||||||
UFlags uint32
|
|
||||||
Hwnd HWND
|
|
||||||
UId uintptr
|
|
||||||
Rect RECT
|
|
||||||
Hinst HINSTANCE
|
|
||||||
LpszText *uint16
|
|
||||||
LParam uintptr
|
|
||||||
LpReserved unsafe.Pointer
|
|
||||||
}
|
|
||||||
|
|
||||||
type TTGETTITLE struct {
|
|
||||||
DwSize uint32
|
|
||||||
UTitleBitmap uint32
|
|
||||||
Cch uint32
|
|
||||||
PszTitle *uint16
|
|
||||||
}
|
|
247
vendor/github.com/lxn/win/treeview.go
generated
vendored
247
vendor/github.com/lxn/win/treeview.go
generated
vendored
@ -1,247 +0,0 @@
|
|||||||
// Copyright 2010 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
|
|
||||||
|
|
||||||
// TreeView styles
|
|
||||||
const (
|
|
||||||
TVS_HASBUTTONS = 0x0001
|
|
||||||
TVS_HASLINES = 0x0002
|
|
||||||
TVS_LINESATROOT = 0x0004
|
|
||||||
TVS_EDITLABELS = 0x0008
|
|
||||||
TVS_DISABLEDRAGDROP = 0x0010
|
|
||||||
TVS_SHOWSELALWAYS = 0x0020
|
|
||||||
TVS_RTLREADING = 0x0040
|
|
||||||
TVS_NOTOOLTIPS = 0x0080
|
|
||||||
TVS_CHECKBOXES = 0x0100
|
|
||||||
TVS_TRACKSELECT = 0x0200
|
|
||||||
TVS_SINGLEEXPAND = 0x0400
|
|
||||||
TVS_INFOTIP = 0x0800
|
|
||||||
TVS_FULLROWSELECT = 0x1000
|
|
||||||
TVS_NOSCROLL = 0x2000
|
|
||||||
TVS_NONEVENHEIGHT = 0x4000
|
|
||||||
TVS_NOHSCROLL = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVS_EX_NOSINGLECOLLAPSE = 0x0001
|
|
||||||
TVS_EX_MULTISELECT = 0x0002
|
|
||||||
TVS_EX_DOUBLEBUFFER = 0x0004
|
|
||||||
TVS_EX_NOINDENTSTATE = 0x0008
|
|
||||||
TVS_EX_RICHTOOLTIP = 0x0010
|
|
||||||
TVS_EX_AUTOHSCROLL = 0x0020
|
|
||||||
TVS_EX_FADEINOUTEXPANDOS = 0x0040
|
|
||||||
TVS_EX_PARTIALCHECKBOXES = 0x0080
|
|
||||||
TVS_EX_EXCLUSIONCHECKBOXES = 0x0100
|
|
||||||
TVS_EX_DIMMEDCHECKBOXES = 0x0200
|
|
||||||
TVS_EX_DRAWIMAGEASYNC = 0x0400
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVIF_TEXT = 0x0001
|
|
||||||
TVIF_IMAGE = 0x0002
|
|
||||||
TVIF_PARAM = 0x0004
|
|
||||||
TVIF_STATE = 0x0008
|
|
||||||
TVIF_HANDLE = 0x0010
|
|
||||||
TVIF_SELECTEDIMAGE = 0x0020
|
|
||||||
TVIF_CHILDREN = 0x0040
|
|
||||||
TVIF_INTEGRAL = 0x0080
|
|
||||||
TVIF_STATEEX = 0x0100
|
|
||||||
TVIF_EXPANDEDIMAGE = 0x0200
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVIS_SELECTED = 0x0002
|
|
||||||
TVIS_CUT = 0x0004
|
|
||||||
TVIS_DROPHILITED = 0x0008
|
|
||||||
TVIS_BOLD = 0x0010
|
|
||||||
TVIS_EXPANDED = 0x0020
|
|
||||||
TVIS_EXPANDEDONCE = 0x0040
|
|
||||||
TVIS_EXPANDPARTIAL = 0x0080
|
|
||||||
TVIS_OVERLAYMASK = 0x0F00
|
|
||||||
TVIS_STATEIMAGEMASK = 0xF000
|
|
||||||
TVIS_USERMASK = 0xF000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVIS_EX_FLAT = 0x0001
|
|
||||||
TVIS_EX_DISABLED = 0x0002
|
|
||||||
TVIS_EX_ALL = 0x0002
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVI_ROOT = ^HTREEITEM(0xffff)
|
|
||||||
TVI_FIRST = ^HTREEITEM(0xfffe)
|
|
||||||
TVI_LAST = ^HTREEITEM(0xfffd)
|
|
||||||
TVI_SORT = ^HTREEITEM(0xfffc)
|
|
||||||
)
|
|
||||||
|
|
||||||
// TVM_EXPAND action flags
|
|
||||||
const (
|
|
||||||
TVE_COLLAPSE = 0x0001
|
|
||||||
TVE_EXPAND = 0x0002
|
|
||||||
TVE_TOGGLE = 0x0003
|
|
||||||
TVE_EXPANDPARTIAL = 0x4000
|
|
||||||
TVE_COLLAPSERESET = 0x8000
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
TVGN_CARET = 9
|
|
||||||
)
|
|
||||||
|
|
||||||
// TreeView messages
|
|
||||||
const (
|
|
||||||
TV_FIRST = 0x1100
|
|
||||||
|
|
||||||
TVM_INSERTITEM = TV_FIRST + 50
|
|
||||||
TVM_DELETEITEM = TV_FIRST + 1
|
|
||||||
TVM_EXPAND = TV_FIRST + 2
|
|
||||||
TVM_GETITEMRECT = TV_FIRST + 4
|
|
||||||
TVM_GETCOUNT = TV_FIRST + 5
|
|
||||||
TVM_GETINDENT = TV_FIRST + 6
|
|
||||||
TVM_SETINDENT = TV_FIRST + 7
|
|
||||||
TVM_GETIMAGELIST = TV_FIRST + 8
|
|
||||||
TVM_SETIMAGELIST = TV_FIRST + 9
|
|
||||||
TVM_GETNEXTITEM = TV_FIRST + 10
|
|
||||||
TVM_SELECTITEM = TV_FIRST + 11
|
|
||||||
TVM_GETITEM = TV_FIRST + 62
|
|
||||||
TVM_SETITEM = TV_FIRST + 63
|
|
||||||
TVM_EDITLABEL = TV_FIRST + 65
|
|
||||||
TVM_GETEDITCONTROL = TV_FIRST + 15
|
|
||||||
TVM_GETVISIBLECOUNT = TV_FIRST + 16
|
|
||||||
TVM_HITTEST = TV_FIRST + 17
|
|
||||||
TVM_CREATEDRAGIMAGE = TV_FIRST + 18
|
|
||||||
TVM_SORTCHILDREN = TV_FIRST + 19
|
|
||||||
TVM_ENSUREVISIBLE = TV_FIRST + 20
|
|
||||||
TVM_SORTCHILDRENCB = TV_FIRST + 21
|
|
||||||
TVM_ENDEDITLABELNOW = TV_FIRST + 22
|
|
||||||
TVM_GETISEARCHSTRING = TV_FIRST + 64
|
|
||||||
TVM_SETTOOLTIPS = TV_FIRST + 24
|
|
||||||
TVM_GETTOOLTIPS = TV_FIRST + 25
|
|
||||||
TVM_SETINSERTMARK = TV_FIRST + 26
|
|
||||||
TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
||||||
TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
||||||
TVM_SETITEMHEIGHT = TV_FIRST + 27
|
|
||||||
TVM_GETITEMHEIGHT = TV_FIRST + 28
|
|
||||||
TVM_SETBKCOLOR = TV_FIRST + 29
|
|
||||||
TVM_SETTEXTCOLOR = TV_FIRST + 30
|
|
||||||
TVM_GETBKCOLOR = TV_FIRST + 31
|
|
||||||
TVM_GETTEXTCOLOR = TV_FIRST + 32
|
|
||||||
TVM_SETSCROLLTIME = TV_FIRST + 33
|
|
||||||
TVM_GETSCROLLTIME = TV_FIRST + 34
|
|
||||||
TVM_SETINSERTMARKCOLOR = TV_FIRST + 37
|
|
||||||
TVM_GETINSERTMARKCOLOR = TV_FIRST + 38
|
|
||||||
TVM_GETITEMSTATE = TV_FIRST + 39
|
|
||||||
TVM_SETLINECOLOR = TV_FIRST + 40
|
|
||||||
TVM_GETLINECOLOR = TV_FIRST + 41
|
|
||||||
TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42
|
|
||||||
TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43
|
|
||||||
TVM_SETEXTENDEDSTYLE = TV_FIRST + 44
|
|
||||||
TVM_GETEXTENDEDSTYLE = TV_FIRST + 45
|
|
||||||
TVM_SETAUTOSCROLLINFO = TV_FIRST + 59
|
|
||||||
)
|
|
||||||
|
|
||||||
// TreeView notifications
|
|
||||||
const (
|
|
||||||
TVN_FIRST = ^uint32(399)
|
|
||||||
|
|
||||||
TVN_SELCHANGING = TVN_FIRST - 50
|
|
||||||
TVN_SELCHANGED = TVN_FIRST - 51
|
|
||||||
TVN_GETDISPINFO = TVN_FIRST - 52
|
|
||||||
TVN_ITEMEXPANDING = TVN_FIRST - 54
|
|
||||||
TVN_ITEMEXPANDED = TVN_FIRST - 55
|
|
||||||
TVN_BEGINDRAG = TVN_FIRST - 56
|
|
||||||
TVN_BEGINRDRAG = TVN_FIRST - 57
|
|
||||||
TVN_DELETEITEM = TVN_FIRST - 58
|
|
||||||
TVN_BEGINLABELEDIT = TVN_FIRST - 59
|
|
||||||
TVN_ENDLABELEDIT = TVN_FIRST - 60
|
|
||||||
TVN_KEYDOWN = TVN_FIRST - 12
|
|
||||||
TVN_GETINFOTIP = TVN_FIRST - 14
|
|
||||||
TVN_SINGLEEXPAND = TVN_FIRST - 15
|
|
||||||
TVN_ITEMCHANGING = TVN_FIRST - 17
|
|
||||||
TVN_ITEMCHANGED = TVN_FIRST - 19
|
|
||||||
TVN_ASYNCDRAW = TVN_FIRST - 20
|
|
||||||
)
|
|
||||||
|
|
||||||
// TreeView hit test constants
|
|
||||||
const (
|
|
||||||
TVHT_NOWHERE = 1
|
|
||||||
TVHT_ONITEMICON = 2
|
|
||||||
TVHT_ONITEMLABEL = 4
|
|
||||||
TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON
|
|
||||||
TVHT_ONITEMINDENT = 8
|
|
||||||
TVHT_ONITEMBUTTON = 16
|
|
||||||
TVHT_ONITEMRIGHT = 32
|
|
||||||
TVHT_ONITEMSTATEICON = 64
|
|
||||||
TVHT_ABOVE = 256
|
|
||||||
TVHT_BELOW = 512
|
|
||||||
TVHT_TORIGHT = 1024
|
|
||||||
TVHT_TOLEFT = 2048
|
|
||||||
)
|
|
||||||
|
|
||||||
type HTREEITEM HANDLE
|
|
||||||
|
|
||||||
type TVITEM struct {
|
|
||||||
Mask uint32
|
|
||||||
HItem HTREEITEM
|
|
||||||
State uint32
|
|
||||||
StateMask uint32
|
|
||||||
PszText uintptr
|
|
||||||
CchTextMax int32
|
|
||||||
IImage int32
|
|
||||||
ISelectedImage int32
|
|
||||||
CChildren int32
|
|
||||||
LParam uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
/*type TVITEMEX struct {
|
|
||||||
mask UINT
|
|
||||||
hItem HTREEITEM
|
|
||||||
state UINT
|
|
||||||
stateMask UINT
|
|
||||||
pszText LPWSTR
|
|
||||||
cchTextMax int
|
|
||||||
iImage int
|
|
||||||
iSelectedImage int
|
|
||||||
cChildren int
|
|
||||||
lParam LPARAM
|
|
||||||
iIntegral int
|
|
||||||
uStateEx UINT
|
|
||||||
hwnd HWND
|
|
||||||
iExpandedImage int
|
|
||||||
}*/
|
|
||||||
|
|
||||||
type TVINSERTSTRUCT struct {
|
|
||||||
HParent HTREEITEM
|
|
||||||
HInsertAfter HTREEITEM
|
|
||||||
Item TVITEM
|
|
||||||
// itemex TVITEMEX
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMTREEVIEW struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
Action uint32
|
|
||||||
ItemOld TVITEM
|
|
||||||
ItemNew TVITEM
|
|
||||||
PtDrag POINT
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMTVDISPINFO struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
Item TVITEM
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMTVKEYDOWN struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
WVKey uint16
|
|
||||||
Flags uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type TVHITTESTINFO struct {
|
|
||||||
Pt POINT
|
|
||||||
Flags uint32
|
|
||||||
HItem HTREEITEM
|
|
||||||
}
|
|
58
vendor/github.com/lxn/win/updown.go
generated
vendored
58
vendor/github.com/lxn/win/updown.go
generated
vendored
@ -1,58 +0,0 @@
|
|||||||
// Copyright 2011 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
|
|
||||||
|
|
||||||
const UDN_FIRST = ^uint32(720)
|
|
||||||
|
|
||||||
const (
|
|
||||||
UD_MAXVAL = 0x7fff
|
|
||||||
UD_MINVAL = ^uintptr(UD_MAXVAL - 1)
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
UDS_WRAP = 0x0001
|
|
||||||
UDS_SETBUDDYINT = 0x0002
|
|
||||||
UDS_ALIGNRIGHT = 0x0004
|
|
||||||
UDS_ALIGNLEFT = 0x0008
|
|
||||||
UDS_AUTOBUDDY = 0x0010
|
|
||||||
UDS_ARROWKEYS = 0x0020
|
|
||||||
UDS_HORZ = 0x0040
|
|
||||||
UDS_NOTHOUSANDS = 0x0080
|
|
||||||
UDS_HOTTRACK = 0x0100
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
UDM_SETRANGE = WM_USER + 101
|
|
||||||
UDM_GETRANGE = WM_USER + 102
|
|
||||||
UDM_SETPOS = WM_USER + 103
|
|
||||||
UDM_GETPOS = WM_USER + 104
|
|
||||||
UDM_SETBUDDY = WM_USER + 105
|
|
||||||
UDM_GETBUDDY = WM_USER + 106
|
|
||||||
UDM_SETACCEL = WM_USER + 107
|
|
||||||
UDM_GETACCEL = WM_USER + 108
|
|
||||||
UDM_SETBASE = WM_USER + 109
|
|
||||||
UDM_GETBASE = WM_USER + 110
|
|
||||||
UDM_SETRANGE32 = WM_USER + 111
|
|
||||||
UDM_GETRANGE32 = WM_USER + 112
|
|
||||||
UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
|
|
||||||
UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
|
|
||||||
UDM_SETPOS32 = WM_USER + 113
|
|
||||||
UDM_GETPOS32 = WM_USER + 114
|
|
||||||
)
|
|
||||||
|
|
||||||
const UDN_DELTAPOS = UDN_FIRST - 1
|
|
||||||
|
|
||||||
type UDACCEL struct {
|
|
||||||
NSec uint32
|
|
||||||
NInc uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
type NMUPDOWN struct {
|
|
||||||
Hdr NMHDR
|
|
||||||
IPos int32
|
|
||||||
IDelta int32
|
|
||||||
}
|
|
2865
vendor/github.com/lxn/win/user32.go
generated
vendored
2865
vendor/github.com/lxn/win/user32.go
generated
vendored
File diff suppressed because it is too large
Load Diff
260
vendor/github.com/lxn/win/uxtheme.go
generated
vendored
260
vendor/github.com/lxn/win/uxtheme.go
generated
vendored
@ -1,260 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
// CheckBox parts
|
|
||||||
const (
|
|
||||||
BP_CHECKBOX = 3
|
|
||||||
)
|
|
||||||
|
|
||||||
// CheckBox states
|
|
||||||
const (
|
|
||||||
CBS_UNCHECKEDNORMAL = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// LISTVIEW parts
|
|
||||||
const (
|
|
||||||
LVP_LISTITEM = 1
|
|
||||||
LVP_LISTGROUP = 2
|
|
||||||
LVP_LISTDETAIL = 3
|
|
||||||
LVP_LISTSORTEDDETAIL = 4
|
|
||||||
LVP_EMPTYTEXT = 5
|
|
||||||
LVP_GROUPHEADER = 6
|
|
||||||
LVP_GROUPHEADERLINE = 7
|
|
||||||
LVP_EXPANDBUTTON = 8
|
|
||||||
LVP_COLLAPSEBUTTON = 9
|
|
||||||
LVP_COLUMNDETAIL = 10
|
|
||||||
)
|
|
||||||
|
|
||||||
// LVP_LISTITEM states
|
|
||||||
const (
|
|
||||||
LISS_NORMAL = 1
|
|
||||||
LISS_HOT = 2
|
|
||||||
LISS_SELECTED = 3
|
|
||||||
LISS_DISABLED = 4
|
|
||||||
LISS_SELECTEDNOTFOCUS = 5
|
|
||||||
LISS_HOTSELECTED = 6
|
|
||||||
)
|
|
||||||
|
|
||||||
// TAB parts
|
|
||||||
const (
|
|
||||||
TABP_TABITEM = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
// TABP_TABITEM states
|
|
||||||
const (
|
|
||||||
TIS_NORMAL = 1
|
|
||||||
TIS_HOT = 2
|
|
||||||
TIS_SELECTED = 3
|
|
||||||
TIS_DISABLED = 4
|
|
||||||
TIS_FOCUSED = 5
|
|
||||||
)
|
|
||||||
|
|
||||||
// TREEVIEW parts
|
|
||||||
const (
|
|
||||||
TVP_TREEITEM = 1
|
|
||||||
TVP_GLYPH = 2
|
|
||||||
TVP_BRANCH = 3
|
|
||||||
TVP_HOTGLYPH = 4
|
|
||||||
)
|
|
||||||
|
|
||||||
// TVP_TREEITEM states
|
|
||||||
const (
|
|
||||||
TREIS_NORMAL = 1
|
|
||||||
TREIS_HOT = 2
|
|
||||||
TREIS_SELECTED = 3
|
|
||||||
TREIS_DISABLED = 4
|
|
||||||
TREIS_SELECTEDNOTFOCUS = 5
|
|
||||||
TREIS_HOTSELECTED = 6
|
|
||||||
)
|
|
||||||
|
|
||||||
// DTTOPTS flags
|
|
||||||
const (
|
|
||||||
DTT_TEXTCOLOR = 1 << 0
|
|
||||||
DTT_BORDERCOLOR = 1 << 1
|
|
||||||
DTT_SHADOWCOLOR = 1 << 2
|
|
||||||
DTT_SHADOWTYPE = 1 << 3
|
|
||||||
DTT_SHADOWOFFSET = 1 << 4
|
|
||||||
DTT_BORDERSIZE = 1 << 5
|
|
||||||
DTT_FONTPROP = 1 << 6
|
|
||||||
DTT_COLORPROP = 1 << 7
|
|
||||||
DTT_STATEID = 1 << 8
|
|
||||||
DTT_CALCRECT = 1 << 9
|
|
||||||
DTT_APPLYOVERLAY = 1 << 10
|
|
||||||
DTT_GLOWSIZE = 1 << 11
|
|
||||||
DTT_CALLBACK = 1 << 12
|
|
||||||
DTT_COMPOSITED = 1 << 13
|
|
||||||
DTT_VALIDBITS = DTT_TEXTCOLOR |
|
|
||||||
DTT_BORDERCOLOR |
|
|
||||||
DTT_SHADOWCOLOR |
|
|
||||||
DTT_SHADOWTYPE |
|
|
||||||
DTT_SHADOWOFFSET |
|
|
||||||
DTT_BORDERSIZE |
|
|
||||||
DTT_FONTPROP |
|
|
||||||
DTT_COLORPROP |
|
|
||||||
DTT_STATEID |
|
|
||||||
DTT_CALCRECT |
|
|
||||||
DTT_APPLYOVERLAY |
|
|
||||||
DTT_GLOWSIZE |
|
|
||||||
DTT_COMPOSITED
|
|
||||||
)
|
|
||||||
|
|
||||||
type HTHEME HANDLE
|
|
||||||
|
|
||||||
type THEMESIZE int
|
|
||||||
|
|
||||||
const (
|
|
||||||
TS_MIN THEMESIZE = iota
|
|
||||||
TS_TRUE
|
|
||||||
TS_DRAW
|
|
||||||
)
|
|
||||||
|
|
||||||
type DTTOPTS struct {
|
|
||||||
DwSize uint32
|
|
||||||
DwFlags uint32
|
|
||||||
CrText COLORREF
|
|
||||||
CrBorder COLORREF
|
|
||||||
CrShadow COLORREF
|
|
||||||
ITextShadowType int
|
|
||||||
PtShadowOffset POINT
|
|
||||||
IBorderSize int
|
|
||||||
IFontPropId int
|
|
||||||
IColorPropId int
|
|
||||||
IStateId int
|
|
||||||
FApplyOverlay BOOL
|
|
||||||
IGlowSize int
|
|
||||||
PfnDrawTextCallback uintptr
|
|
||||||
LParam uintptr
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libuxtheme uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
closeThemeData uintptr
|
|
||||||
drawThemeBackground uintptr
|
|
||||||
drawThemeTextEx uintptr
|
|
||||||
getThemePartSize uintptr
|
|
||||||
getThemeTextExtent uintptr
|
|
||||||
isAppThemed uintptr
|
|
||||||
openThemeData uintptr
|
|
||||||
setWindowTheme uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libuxtheme = MustLoadLibrary("uxtheme.dll")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
closeThemeData = MustGetProcAddress(libuxtheme, "CloseThemeData")
|
|
||||||
drawThemeBackground = MustGetProcAddress(libuxtheme, "DrawThemeBackground")
|
|
||||||
drawThemeTextEx = MustGetProcAddress(libuxtheme, "DrawThemeTextEx")
|
|
||||||
getThemePartSize = MustGetProcAddress(libuxtheme, "GetThemePartSize")
|
|
||||||
getThemeTextExtent = MustGetProcAddress(libuxtheme, "GetThemeTextExtent")
|
|
||||||
isAppThemed = MustGetProcAddress(libuxtheme, "IsAppThemed")
|
|
||||||
openThemeData = MustGetProcAddress(libuxtheme, "OpenThemeData")
|
|
||||||
setWindowTheme = MustGetProcAddress(libuxtheme, "SetWindowTheme")
|
|
||||||
}
|
|
||||||
|
|
||||||
func CloseThemeData(hTheme HTHEME) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(closeThemeData, 1,
|
|
||||||
uintptr(hTheme),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DrawThemeBackground(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pRect, pClipRect *RECT) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall6(drawThemeBackground, 6,
|
|
||||||
uintptr(hTheme),
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iPartId),
|
|
||||||
uintptr(iStateId),
|
|
||||||
uintptr(unsafe.Pointer(pRect)),
|
|
||||||
uintptr(unsafe.Pointer(pClipRect)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DrawThemeTextEx(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pszText *uint16, iCharCount int32, dwFlags uint32, pRect *RECT, pOptions *DTTOPTS) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall9(drawThemeTextEx, 9,
|
|
||||||
uintptr(hTheme),
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iPartId),
|
|
||||||
uintptr(iStateId),
|
|
||||||
uintptr(unsafe.Pointer(pszText)),
|
|
||||||
uintptr(iCharCount),
|
|
||||||
uintptr(dwFlags),
|
|
||||||
uintptr(unsafe.Pointer(pRect)),
|
|
||||||
uintptr(unsafe.Pointer(pOptions)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetThemePartSize(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, prc *RECT, eSize THEMESIZE, psz *SIZE) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall9(getThemePartSize, 7,
|
|
||||||
uintptr(hTheme),
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iPartId),
|
|
||||||
uintptr(iStateId),
|
|
||||||
uintptr(unsafe.Pointer(prc)),
|
|
||||||
uintptr(eSize),
|
|
||||||
uintptr(unsafe.Pointer(psz)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetThemeTextExtent(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pszText *uint16, iCharCount int32, dwTextFlags uint32, pBoundingRect, pExtentRect *RECT) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall9(getThemeTextExtent, 9,
|
|
||||||
uintptr(hTheme),
|
|
||||||
uintptr(hdc),
|
|
||||||
uintptr(iPartId),
|
|
||||||
uintptr(iStateId),
|
|
||||||
uintptr(unsafe.Pointer(pszText)),
|
|
||||||
uintptr(iCharCount),
|
|
||||||
uintptr(dwTextFlags),
|
|
||||||
uintptr(unsafe.Pointer(pBoundingRect)),
|
|
||||||
uintptr(unsafe.Pointer(pExtentRect)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func IsAppThemed() bool {
|
|
||||||
ret, _, _ := syscall.Syscall(isAppThemed, 0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func OpenThemeData(hwnd HWND, pszClassList *uint16) HTHEME {
|
|
||||||
ret, _, _ := syscall.Syscall(openThemeData, 2,
|
|
||||||
uintptr(hwnd),
|
|
||||||
uintptr(unsafe.Pointer(pszClassList)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return HTHEME(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SetWindowTheme(hwnd HWND, pszSubAppName, pszSubIdList *uint16) HRESULT {
|
|
||||||
ret, _, _ := syscall.Syscall(setWindowTheme, 3,
|
|
||||||
uintptr(hwnd),
|
|
||||||
uintptr(unsafe.Pointer(pszSubAppName)),
|
|
||||||
uintptr(unsafe.Pointer(pszSubIdList)))
|
|
||||||
|
|
||||||
return HRESULT(ret)
|
|
||||||
}
|
|
112
vendor/github.com/lxn/win/win.go
generated
vendored
112
vendor/github.com/lxn/win/win.go
generated
vendored
@ -1,112 +0,0 @@
|
|||||||
// Copyright 2010 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 (
|
|
||||||
"runtime"
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
runtime.LockOSThread()
|
|
||||||
}
|
|
||||||
|
|
||||||
const (
|
|
||||||
S_OK = 0x00000000
|
|
||||||
S_FALSE = 0x00000001
|
|
||||||
E_UNEXPECTED = 0x8000FFFF
|
|
||||||
E_NOTIMPL = 0x80004001
|
|
||||||
E_OUTOFMEMORY = 0x8007000E
|
|
||||||
E_INVALIDARG = 0x80070057
|
|
||||||
E_NOINTERFACE = 0x80004002
|
|
||||||
E_POINTER = 0x80004003
|
|
||||||
E_HANDLE = 0x80070006
|
|
||||||
E_ABORT = 0x80004004
|
|
||||||
E_FAIL = 0x80004005
|
|
||||||
E_ACCESSDENIED = 0x80070005
|
|
||||||
E_PENDING = 0x8000000A
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
FALSE = 0
|
|
||||||
TRUE = 1
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
BOOL int32
|
|
||||||
HRESULT int32
|
|
||||||
)
|
|
||||||
|
|
||||||
func MustLoadLibrary(name string) uintptr {
|
|
||||||
lib, err := syscall.LoadLibrary(name)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return uintptr(lib)
|
|
||||||
}
|
|
||||||
|
|
||||||
func MustGetProcAddress(lib uintptr, name string) uintptr {
|
|
||||||
addr, err := syscall.GetProcAddress(syscall.Handle(lib), name)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return uintptr(addr)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SUCCEEDED(hr HRESULT) bool {
|
|
||||||
return hr >= 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func FAILED(hr HRESULT) bool {
|
|
||||||
return hr < 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func MAKEWORD(lo, hi byte) uint16 {
|
|
||||||
return uint16(uint16(lo) | ((uint16(hi)) << 8))
|
|
||||||
}
|
|
||||||
|
|
||||||
func LOBYTE(w uint16) byte {
|
|
||||||
return byte(w)
|
|
||||||
}
|
|
||||||
|
|
||||||
func HIBYTE(w uint16) byte {
|
|
||||||
return byte(w >> 8 & 0xff)
|
|
||||||
}
|
|
||||||
|
|
||||||
func MAKELONG(lo, hi uint16) uint32 {
|
|
||||||
return uint32(uint32(lo) | ((uint32(hi)) << 16))
|
|
||||||
}
|
|
||||||
|
|
||||||
func LOWORD(dw uint32) uint16 {
|
|
||||||
return uint16(dw)
|
|
||||||
}
|
|
||||||
|
|
||||||
func HIWORD(dw uint32) uint16 {
|
|
||||||
return uint16(dw >> 16 & 0xffff)
|
|
||||||
}
|
|
||||||
|
|
||||||
func UTF16PtrToString(s *uint16) string {
|
|
||||||
if s == nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return syscall.UTF16ToString((*[1 << 29]uint16)(unsafe.Pointer(s))[0:])
|
|
||||||
}
|
|
||||||
|
|
||||||
func MAKEINTRESOURCE(id uintptr) *uint16 {
|
|
||||||
return (*uint16)(unsafe.Pointer(id))
|
|
||||||
}
|
|
||||||
|
|
||||||
func BoolToBOOL(value bool) BOOL {
|
|
||||||
if value {
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
100
vendor/github.com/lxn/win/winspool.go
generated
vendored
100
vendor/github.com/lxn/win/winspool.go
generated
vendored
@ -1,100 +0,0 @@
|
|||||||
// Copyright 2010 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"
|
|
||||||
)
|
|
||||||
|
|
||||||
// EnumPrinters flags
|
|
||||||
const (
|
|
||||||
PRINTER_ENUM_DEFAULT = 0x00000001
|
|
||||||
PRINTER_ENUM_LOCAL = 0x00000002
|
|
||||||
PRINTER_ENUM_CONNECTIONS = 0x00000004
|
|
||||||
PRINTER_ENUM_FAVORITE = 0x00000004
|
|
||||||
PRINTER_ENUM_NAME = 0x00000008
|
|
||||||
PRINTER_ENUM_REMOTE = 0x00000010
|
|
||||||
PRINTER_ENUM_SHARED = 0x00000020
|
|
||||||
PRINTER_ENUM_NETWORK = 0x00000040
|
|
||||||
)
|
|
||||||
|
|
||||||
type PRINTER_INFO_4 struct {
|
|
||||||
PPrinterName *uint16
|
|
||||||
PServerName *uint16
|
|
||||||
Attributes uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
// Library
|
|
||||||
libwinspool uintptr
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
deviceCapabilities uintptr
|
|
||||||
documentProperties uintptr
|
|
||||||
enumPrinters uintptr
|
|
||||||
getDefaultPrinter uintptr
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// Library
|
|
||||||
libwinspool = MustLoadLibrary("winspool.drv")
|
|
||||||
|
|
||||||
// Functions
|
|
||||||
deviceCapabilities = MustGetProcAddress(libwinspool, "DeviceCapabilitiesW")
|
|
||||||
documentProperties = MustGetProcAddress(libwinspool, "DocumentPropertiesW")
|
|
||||||
enumPrinters = MustGetProcAddress(libwinspool, "EnumPrintersW")
|
|
||||||
getDefaultPrinter = MustGetProcAddress(libwinspool, "GetDefaultPrinterW")
|
|
||||||
}
|
|
||||||
|
|
||||||
func DeviceCapabilities(pDevice, pPort *uint16, fwCapability uint16, pOutput *uint16, pDevMode *DEVMODE) uint32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(deviceCapabilities, 5,
|
|
||||||
uintptr(unsafe.Pointer(pDevice)),
|
|
||||||
uintptr(unsafe.Pointer(pPort)),
|
|
||||||
uintptr(fwCapability),
|
|
||||||
uintptr(unsafe.Pointer(pOutput)),
|
|
||||||
uintptr(unsafe.Pointer(pDevMode)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return uint32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func DocumentProperties(hWnd HWND, hPrinter HANDLE, pDeviceName *uint16, pDevModeOutput, pDevModeInput *DEVMODE, fMode uint32) int32 {
|
|
||||||
ret, _, _ := syscall.Syscall6(documentProperties, 6,
|
|
||||||
uintptr(hWnd),
|
|
||||||
uintptr(hPrinter),
|
|
||||||
uintptr(unsafe.Pointer(pDeviceName)),
|
|
||||||
uintptr(unsafe.Pointer(pDevModeOutput)),
|
|
||||||
uintptr(unsafe.Pointer(pDevModeInput)),
|
|
||||||
uintptr(fMode))
|
|
||||||
|
|
||||||
return int32(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
func EnumPrinters(Flags uint32, Name *uint16, Level uint32, pPrinterEnum *byte, cbBuf uint32, pcbNeeded, pcReturned *uint32) bool {
|
|
||||||
ret, _, _ := syscall.Syscall9(enumPrinters, 7,
|
|
||||||
uintptr(Flags),
|
|
||||||
uintptr(unsafe.Pointer(Name)),
|
|
||||||
uintptr(Level),
|
|
||||||
uintptr(unsafe.Pointer(pPrinterEnum)),
|
|
||||||
uintptr(cbBuf),
|
|
||||||
uintptr(unsafe.Pointer(pcbNeeded)),
|
|
||||||
uintptr(unsafe.Pointer(pcReturned)),
|
|
||||||
0,
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetDefaultPrinter(pszBuffer *uint16, pcchBuffer *uint32) bool {
|
|
||||||
ret, _, _ := syscall.Syscall(getDefaultPrinter, 2,
|
|
||||||
uintptr(unsafe.Pointer(pszBuffer)),
|
|
||||||
uintptr(unsafe.Pointer(pcchBuffer)),
|
|
||||||
0)
|
|
||||||
|
|
||||||
return ret != 0
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user