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  }