1.QProcess加explorer彈出打開文件夾
1.1打開文件夾,並自動選中目標文件
void HisPicItem::SlotOpenTargetFile(QString strfile) { QString strPicPath = strfile; strPicPath.replace("/", "\\"); //win32下替換斜槓 QProcess process; process.startDetached("explorer", QStringList() << QString("/select,") << QString("%1").arg(strPicPath)); }
效果如下
1.2.只打開文件夾
QString strpicPath = m_strDefaultPicPath; strpicPath.replace("/", "\\"); //win32下替換斜槓 QProcess process; process.startDetached("explorer", QStringList() << QString("/root,") << QString("%1").arg(strpicPath));
效果如下:
命令格式
Explorer [/n][/e][[,/root],[path]][[,/select],[path filename]]
參數說明
/n表示以“我的電腦”方式打開一個新的窗口,通常打開的是Windows安裝分區的根目錄。
/e表示以“資源管理器”方式打開一個新的窗口,通常打開的也是Windows安裝分區的根目錄。
/root,[path]表示打開指定的文件夾,/root表示只顯示指定文件夾下面的文件(夾),不顯示其它磁盤分區和文件夾;[path]表示指定的路徑。
如果不加/root參數,而只用[path]參數,則可以顯示其它磁盤分區和文件夾中的內容。另外,[path]還可以指定網絡共享文件夾。
/select,[path filename]表示打開指定的文件夾並且選中指定的文件,[path filename]表示指定的路徑和文件名。
如果不加/select參數,則系統會用相應的關聯程序打開該文件。如果[path filename]不跟文件名就會打開該文件夾的上級目錄並選中該文件夾。
應用實例
1.以“資源管理器”方式打開E盤根目錄
單擊“開始→運行”,輸入“explorer /e,/root,e:\”,回車即可。如果需要顯示其它磁盤分區和文件夾中的內容,可以輸入“explorer /e,e:\”。
2.以“我的電腦”方式打開“E:\Download”目錄下的QQ.exe文件在“開始→運行”中鍵入“explorer /n,/select e:\download\qq.exe”或“explorer /select e:\download\qq.exe”,回車即可。
3.通過“開始”菜單中的“Windows 資源管理器”命令打開特定窗口
以在Windows XP下打開E盤根目錄爲例。首先在“開始”菜單中用鼠標右鍵單擊“所有程序→附件→Windows 資源管理器”項,選擇“屬性”命令。接着在彈出窗口的“目標”欄中輸入“%SystemRoot%\explorer.exe /e,e:\”(默認值是“%SystemRoot%\explorer.exe”)即可。
4.在右鍵菜單裏添加“打開我的文件夾”命令打開特定文件
以在Windows XP下打開“E:\myfolder”文件夾爲例。在“開始→運行”中輸入“Regedit”,打開“註冊表編輯器”,展開分支“HKEY_CLASSES_ROOT\Directory\shell,接着在右邊窗口中新建一個名爲“PersonalWindow”的子鍵,並將默認值改成“打開我的文件夾”;然後在“PersonalWindow”下新建一個名爲“Command”的子鍵,在右側的窗口中將“默認”值改爲“explorer.exe /e,E:\myfolder”。這樣就可以在瀏覽任何文件夾的時候,通過右鍵快捷菜單中的“打開我的文件夾”命令快速以資源管理器方式打開“E:\myfolder”文件夾。
示例
以下示例說明了 Windows 資源管理器參數的用法。
? Explorer /n
此命令使用默認設置打開一個資源管理器窗口。顯示的內容通常是安裝 Windows 的驅動器的根目錄。
? Explorer /e
此命令使用默認視圖啓動 Windows 資源管理器。
? Explorer /e,C:\Windows
此命令使用默認視圖啓動 Windows 資源管理器,並把焦點定位在 C:\Windows。
? Explorer /root, C:\Windows\Cursors
此命令啓動 Windows 資源管理器後焦點定位在 C:\Windows\Cursors folder。此示例使用
C:\Windows\Cursors 作爲 Windows 資源管理器的“根”目錄。
備註:請注意命令中“/root”參數後面的逗號。
Explorer /select, C:\Windows\Cursors\banana.ani
此命令啓動 Windows 資源管理器後選定“C:\Windows\Cursors\banana.ani”文件。
備註
請注意命令中“/select”參數後面的逗號。
Windows 資源管理器參數可以在一個命令中進行組合。以下示例顯示了 Windows 資源管理器命令行參數的組合。
Explorer /root, \\server\share, select, Program.exe
此命令啓動 Windows 資源管理器時以遠程共享作爲“根”文件夾,而且 Program.exe 文件將被選中
2.QFileDialog 選擇文件或文件夾
2.1 帶過濾器的打開文件夾,選擇其中文件
QStringList fileNameList = QFileDialog::getOpenFileNames(this, QString::fromLocal8Bit("添加視頻"), "", tr("vedio(*.mp4 *.avi *.ps *.ts *.asf *.flv *.dahv *.mov)"));
2.2 選擇文件夾路徑
QFileDialog fileDialog; QString strTargetFile = fileDialog.getExistingDirectory(this, tr("選擇保存路徑"), m_strDefaultPicPath);
2.3 另存爲一個文件
QFileDialog fileDialog; QString strTargetFile = fileDialog.getSaveFileName(this, tr("另存爲"), m_strDefaultPicPath, tr("vedio(*.mp4)"));
默認格式是mp4