台灣最大程式設計社群網站
線上人數
1397
 
會員總數:240344
討論主題:186343
歡迎您免費加入會員
討論區列表 >> C# >> 如何從檔案總管直接開啟檔案而不鎖住該檔案
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何從檔案總管直接開啟檔案而不鎖住該檔案
價值 : 50 QP  點閱數:260 回應數:7

樓主

神奇
初學者
150 1
76 11
發送站內信

小弟寫了一個秀圖程式,其中有搬移和刪除圖片的功能(需要處理目前開啟的圖檔),
結果發現如果從檔案總管直接開啟圖檔(在圖檔上快速按兩下打開),
則該圖檔就會自動被鎖定住(即便在程式內沒用到該圖片也是一樣),
導致無法刪除或搬移(已用 LoadAsync 處理圖片)。

但如果不從檔案總管直接打開,則無論是設定好圖片路徑從程式開,
甚至在檔案上按右鍵選擇以 xxx 程式開啟檔案,都不會鎖住檔案。

目前嘗試過透過另一支程式去呼叫,或者用暗影多開的方式去處理都沒用 ... Orz

希望各位先進能幫幫忙,非常感謝!!



搜尋相關Tags的文章: [ 檔案鎖住 ] , [ 檔案鎖定 ] ,
本篇文章發表於2017-05-08 18:52
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

神來之筆
捐贈 VP 給 神來之筆 檢舉此回應
建一個temp folder,把要看的圖面先複製一份進去, 再打開它可以??
本篇文章回覆於2017-05-08 20:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

神奇
檢舉此回應
問題 user 點開圖檔的時候就檔案就已經被程式鎖住,還沒到讀取圖檔那邊也不是讀取圖檔的問題呢!
本篇文章回覆於2017-05-09 11:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

史努比
檢舉此回應
你open filestream的語法要做修改, 會卡住都是filestream讀取之後沒關閉,

把資料讀入image類別之後, 就可以關閉filestream了

要存檔時, 再打開filestream寫回去, 不需要一直連續開著
本篇文章回覆於2017-05-09 13:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

神奇
檢舉此回應
但跟讀取檔案沒關係,測試過了就算什麼都不做(只開全新空專案)也一樣會把檔案鎖住!
本篇文章回覆於2017-05-09 16:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

神奇
檢舉此回應
在檔案總管用快速點兩下的方式就會自動把檔案鎖住

其他方式

1.拖意圖檔到 form 上打開
2.設定好圖片路徑從程式開
3.甚至在檔案上按右鍵選擇以 xxx 程式開啟檔案

都不會鎖住檔案,非常奇怪 ...
本篇文章回覆於2017-05-09 17:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

神奇
檢舉此回應
抱歉後來發現不是檔案被鎖住,而是檔案所在目錄被鎖住了!(因為我是要針對整個目錄處理)
本篇文章回覆於2017-05-09 22:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

神奇
檢舉此回應
感謝大家的指教此問題已經自行解決,原來只要在程式內改變目前所在工作目錄就可以了!
本篇文章回覆於2017-05-10 07:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.