diff --git a/shell32.go b/shell32.go index afac602..0a9e75f 100644 --- a/shell32.go +++ b/shell32.go @@ -86,3 +86,17 @@ func ShellExecuteEx(muzika *SHELLEXECUTEINFOW) error { } return nil } + +func DragQueryFile(hDrop HDROP, iFile DWORD, lpszFile *uint16, cch DWORD) (DWORD, error) { + shell32, err := syscall.LoadLibrary("shell32.dll") + if err != nil { + return 0, err + } + defer syscall.FreeLibrary(shell32) + dqf, err := syscall.GetProcAddress(syscall.Handle(shell32), "DragQueryFileW") + if err != nil { + return 0, err + } + r, _, _ := syscall.Syscall6(dqf, 4, uintptr(hDrop), uintptr(iFile), uintptr(unsafe.Pointer(lpszFile)), uintptr(cch), 0, 0) + return DWORD(r), nil +}