summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAlexander Neumann <an2048@gmail.com>2019-03-11 10:34:51 +0100
committerGitHub <noreply@github.com>2019-03-11 10:34:51 +0100
commit0040366d745006bbf7528ac96de2de375846aa79 (patch)
treebc3ec2f80c77de12c0a22d646c2f5b3369e1a00f
parentMerge pull request #59 from zx2c4-forks/master (diff)
parentAdd ExtractIcon (diff)
downloadwireguard-windows-0040366d745006bbf7528ac96de2de375846aa79.tar.xz
wireguard-windows-0040366d745006bbf7528ac96de2de375846aa79.zip
Merge pull request #60 from zx2c4-forks/jd/extract
Add ExtractIcon
-rw-r--r--shell32.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/shell32.go b/shell32.go
index d530b8a2..f14a6140 100644
--- a/shell32.go
+++ b/shell32.go
@@ -300,6 +300,7 @@ var (
dragAcceptFiles *windows.LazyProc
dragFinish *windows.LazyProc
dragQueryFile *windows.LazyProc
+ extractIcon *windows.LazyProc
shBrowseForFolder *windows.LazyProc
shGetFileInfo *windows.LazyProc
shGetPathFromIDList *windows.LazyProc
@@ -317,6 +318,7 @@ func init() {
dragAcceptFiles = libshell32.NewProc("DragAcceptFiles")
dragFinish = libshell32.NewProc("DragFinish")
dragQueryFile = libshell32.NewProc("DragQueryFileW")
+ extractIcon = libshell32.NewProc("ExtractIconW")
shBrowseForFolder = libshell32.NewProc("SHBrowseForFolderW")
shGetFileInfo = libshell32.NewProc("SHGetFileInfoW")
shGetPathFromIDList = libshell32.NewProc("SHGetPathFromIDListW")
@@ -354,6 +356,15 @@ func DragFinish(hDrop HDROP) {
0)
}
+func ExtractIcon(hInst HINSTANCE, exeFileName *uint16, iconIndex int32) HICON {
+ ret, _, _ := syscall.Syscall(extractIcon.Addr(), 3,
+ uintptr(hInst),
+ uintptr(unsafe.Pointer(exeFileName)),
+ uintptr(iconIndex))
+
+ return HICON(ret)
+}
+
func SHBrowseForFolder(lpbi *BROWSEINFO) uintptr {
ret, _, _ := syscall.Syscall(shBrowseForFolder.Addr(), 1,
uintptr(unsafe.Pointer(lpbi)),