public static string FolderBrowserDlg(string defaultPath = "") { OpenDlgDir dlg = new OpenDlgDir(); dlg.pszDisplayName = defaultPath; dlg.ulFlags = BIF_USENEWUI; //设置hwndOwner==0时,是非模态对话框,设置hwndOwner!=0时为模态对话框 dlg.hwndOwner = DllOpenFileDialog.GetForegroundWindow(); IntPtr pidlPtr = DllOpenFileDialog.SHBrowseForFolder(dlg); char[] charArray = new char[MAX_PATH_LENGTH]; DllOpenFileDialog.SHGetPathFromIDList(pidlPtr, charArray); string foldPath = new String(charArray); foldPath = foldPath.Substring(0, foldPath.IndexOf('\0')); return(foldPath); }
public static extern IntPtr SHBrowseForFolder([In, Out] OpenDlgDir odd);