github.com/secoba/wails/v2@v2.6.4/internal/frontend/desktop/windows/winc/w32/comdlg32.go (about) 1 //go:build windows 2 3 /* 4 * Copyright (C) 2019 The Winc Authors. All Rights Reserved. 5 * Copyright (C) 2010-2012 The W32 Authors. All Rights Reserved. 6 */ 7 package w32 8 9 import ( 10 "syscall" 11 "unsafe" 12 ) 13 14 var ( 15 modcomdlg32 = syscall.NewLazyDLL("comdlg32.dll") 16 17 procGetSaveFileName = modcomdlg32.NewProc("GetSaveFileNameW") 18 procGetOpenFileName = modcomdlg32.NewProc("GetOpenFileNameW") 19 procCommDlgExtendedError = modcomdlg32.NewProc("CommDlgExtendedError") 20 ) 21 22 func GetOpenFileName(ofn *OPENFILENAME) bool { 23 ret, _, _ := procGetOpenFileName.Call( 24 uintptr(unsafe.Pointer(ofn))) 25 26 return ret != 0 27 } 28 29 func GetSaveFileName(ofn *OPENFILENAME) bool { 30 ret, _, _ := procGetSaveFileName.Call( 31 uintptr(unsafe.Pointer(ofn))) 32 33 return ret != 0 34 } 35 36 func CommDlgExtendedError() uint { 37 ret, _, _ := procCommDlgExtendedError.Call() 38 39 return uint(ret) 40 }