// Copyright 2010-2012 The W32 Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package w32 import ( "syscall" "unsafe" ) var ( modcomdlg32 = syscall.NewLazyDLL("comdlg32.dll") procGetSaveFileName = modcomdlg32.NewProc("GetSaveFileNameW") procGetOpenFileName = modcomdlg32.NewProc("GetOpenFileNameW") procCommDlgExtendedError = modcomdlg32.NewProc("CommDlgExtendedError") ) func GetOpenFileName(ofn *OPENFILENAME) bool { ret, _, _ := procGetOpenFileName.Call( uintptr(unsafe.Pointer(ofn))) return ret != 0 } func GetSaveFileName(ofn *OPENFILENAME) bool { ret, _, _ := procGetSaveFileName.Call( uintptr(unsafe.Pointer(ofn))) return ret != 0 } func CommDlgExtendedError() uint { ret, _, _ := procCommDlgExtendedError.Call() return uint(ret) }