diff options
author | Alexander Neumann <an2048@gmail.com> | 2019-03-11 10:34:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-11 10:34:51 +0100 |
commit | 0040366d745006bbf7528ac96de2de375846aa79 (patch) | |
tree | bc3ec2f80c77de12c0a22d646c2f5b3369e1a00f | |
parent | Merge pull request #59 from zx2c4-forks/master (diff) | |
parent | Add ExtractIcon (diff) | |
download | wireguard-windows-0040366d745006bbf7528ac96de2de375846aa79.tar.xz wireguard-windows-0040366d745006bbf7528ac96de2de375846aa79.zip |
Merge pull request #60 from zx2c4-forks/jd/extract
Add ExtractIcon
-rw-r--r-- | shell32.go | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -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)), |