private void GetWindow() { OpenDialogDir ofn2 = new OpenDialogDir(); ofn2.pszDisplayName = new string(new char[2000]);; // 存放目录路径缓冲区 ofn2.lpszTitle = "请手动选择umm路径"; // 标题 //ofn2.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX; // 新的样式,带编辑框 IntPtr pidlPtr = DllOpenFileDialog.SHBrowseForFolder(ofn2); char[] charArray = new char[2000]; for (int i = 0; i < 2000; i++) { charArray[i] = '\0'; } DllOpenFileDialog.SHGetPathFromIDList(pidlPtr, charArray); string fullDirPath = new String(charArray); Main.settings.ummPath = fullDirPath.Substring(0, fullDirPath.IndexOf('\0')); }
public static extern IntPtr SHBrowseForFolder([In, Out] OpenDialogDir ofn);