為何有些程序的文件操作對話框不能輸入地址?

下面是chrome瀏覽器的另存對話框,它的地址欄就像資源管理器的地址欄一樣,可以直接輸入文件夾路徑。

有時候這很有用,比如一些程序一開始把目錄定位到「我的文檔」,但我項目文件夾路徑比較深(紅框處)。如果我已經在資源管理器里打開了一個項目文件夾,我可以直接複製地址欄粘貼過來,不用一個個層級點進去了。

下面是ps的「將優化結果另存為」對話框,它只能下拉選擇,但這很不方便,我不得不從磁碟根目錄開始一層層選擇文件夾。

我感覺第二種方法非常的不方便,但現在還是有很多程序使用類似的對話框,這裡面有什麼原因呢?


因為ps的另存為對話框給系統對話框加入了下面的兩個combo box,於是只好hard code用舊版本了。不然的話,面對不同版本的Windows的一系列改進過的保存對話框,他的「加入兩個combo box」就要做若干次,還得去看你是什麼系統來選擇調用哪一個,多麻煩。所以正常人都是使用想支持的最落後的版本的Windows的對話框的。

等什麼時候PS不能在Windows 10以下操作系統運行的時候,他就會使用Chrome的那個了。


提醒一下,不論是第一種還是第二種對話框,你都可以直接在底下的文件名的位置粘貼完整的文件目錄和文件名並回車跳轉的的。套路如下:

  • 填寫目錄名:僅目錄的名字,回車跳轉到當前目錄下的該名字的子目錄;填寫完整目錄名稱,回車跳轉到該位置。
  • 填寫文件名:僅文件名,回車在當前目錄保存該文件;填寫完整文件名完整路徑,回車保存到該位置該文件。

所以你說的那個完全可以把地址貼到文件名那個文本框里回車的,這地方輸入也帶自動補全的。Windows 萬歲。

操作如下 GIF 圖,應該是你說的對話框;順便試一下知乎的 GIF 功能……


@vczh

其實,我有個類似的問題,但是始終沒想明白。

就是這個保存的地方,其實是可以打盤符的。但是,僅限於跟著系統盤的下一個盤符。

比如。你系統盤是C。那麼這個地方,只能打D。後面的就說沒許可權。

我截圖2個軟體。正好,借這個問題。。尋求一下大神門的解答。。

-------------------------------------

---------------------------

-----------------------

上面兩種保存方式,是可以的。而且保存的地方,就是我在那地方打的目錄。。。。

但是盤符換到後面的就不行了。


解決問題:

你把地址輸入到PS保存框的文件名的地址,enter,就會跳轉過去


其實你可以在文件名那裡輸入路徑 點打開就過去了 不謝


把地址粘貼到文件名裡面,回車即可。

其實其中有軟體本身的問題,也有操作系統的問題。

軟體的問題可以歸咎為偷懶,圖片中PS在對話框下面加入了自己的選項,換了新的對話框可能出現問題,所以就乾脆不用新的。

Windows 為了兼容舊的軟體,在加入新功能的時候都得保留舊的功能。包括這個選擇文件的對話框,依然保留了Windows 3.x的風格。類似的還有Win10中仍然保留了Win95的控制項風格(Windows經典主題)。但這也是沒辦法的……


你們複製來粘貼去的不嫌累嘛?

直接把那個路徑深的文件夾拉到另存為對話框不行?


ps那個定義了ofnhookproc和template之類來實現的自定義通用對話框,必須舊樣式。chrome則用默認的新樣式對話框,或者在vista以後用com介面自定義也可以實現新樣式對話框。具體可在msdn上搜索common item dialog @vczh


正常人的思路不應該是把地址複製到文件名的輸入框點保存嗎?

反正我倒是一直沒注意還能複製到上面的地址


推薦閱讀:

作為一個普通211大學的非王牌專業的學生,學習地理信息科學,是否能夠重點轉向為編程?
你遇到的最高效率的程序員是怎樣的?
與「沒有Google就不能寫代碼的程序員」相反的程序員是怎樣的?
寫的比快排速度快的演算法,有人給看看嗎?

TAG:MicrosoftWindows | 編程 | 文件管理 |