[.NET] 遇到中文路徑怎麼辦?

看板Visual_Basic作者 (yen)時間18年前 (2007/08/29 19:29), 編輯推噓3(303)
留言6則, 2人參與, 最新討論串1/1
程式碼片段 Dim target As String target = FolderBrowserDialog1.SelectedPath & "\" 我要點兩下listbox就開小畫家編輯 Shell("cmd /c start mspaint.exe " & target & ListBox1.SelectedItem) 我去偵錯 我讀桌面的資料夾 他有寫到 tartget ====== C:\Documents and Settings\xxJyen\桌面\ Listbox1.SelectedItem ====== untitled.bmp 所以看起來是正確的 真的執行後 點兩下 .. 跳出小畫家的對話方塊 無法開啟 C:\Documents.bmp . _______ 也有別的 像是 D:\我的圖片\2007-6-30美材慶功+6-31宿舍 040.jpg __________ 他的錯誤訊息是 無法開啟 D:\我的圖片\2007-6-30美材慶功+6-31宿舍.bmp ______ 求解決方法! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.33.161

08/29 20:59, , 1F
"cmd /c start mspaint.exe " & chr(34) & ... & chr(34)
08/29 20:59, 1F

08/29 21:07, , 2F
怎麼回事?居然成功了!!真是神人阿!!!!
08/29 21:07, 2F

08/29 21:08, , 3F
不過不寫chr(34)的問題到底在哪?!!!!
08/29 21:08, 3F

08/30 06:10, , 4F
dos命令以空格做為參數的分隔符號
08/30 06:10, 4F

08/30 06:11, , 5F
chr(34)是雙引號表示這是一串字就不會被解析成多個參數了
08/30 06:11, 5F

08/30 06:12, , 6F
".exe " & chr(34) & "..." 可以簡寫成 ".exe""..."
08/30 06:12, 6F
文章代碼(AID): #16rLYEWQ (Visual_Basic)