我使用此代碼顯示錯誤時file
是開放的:文件中使用的檢測不是圖片/文件夾的工作
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
MessageBox.Show("file is open!");
}
的問題是,代碼不帶圖片(JPG,BMP等工作)和文件夾。
有什麼,我失蹤?
我使用此代碼顯示錯誤時file
是開放的:文件中使用的檢測不是圖片/文件夾的工作
try
{
stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);
}
catch (IOException)
{
MessageBox.Show("file is open!");
}
的問題是,代碼不帶圖片(JPG,BMP等工作)和文件夾。
有什麼,我失蹤?
不知道我是否明白你想做什麼...我想你想知道是否有人正在查看該圖像。
僅當某個應用程序具有打開的句柄時,文件纔會「打開」。當您使用圖片查看器時,可能(很可能)查看器打開文件,讀取文件並立即關閉文件。因此,文件本身並不適用。
這適用於各種文件,但許多文件是有意保留的(例如,Office應用程序通常會保持文件打開狀態)。
一般而言,您不應該假設「文件句柄已打開」,「某用戶以某種方式使用」文件「的操作完全相關。該文件可能是開放的,但沒有人在互動(也許搜索deamon正在索引它)。另一方面,文件可能對用戶「可見」,但在文件系統上關閉。
此代碼在您的方案中不起作用。然後你打開圖片系統讀取文件,解壓縮圖像並顯示給你並關閉文件。您可以在Windows中打開時刪除它。
是否意味着沒有辦法做到這一點..? – hakam 2011-06-07 15:56:57
**爲什麼**會把代碼放在'
當你說「不工作」時,你的意思是說它沒有說文件是開放的,即使它是?你如何打開文件?你有更多的細節嗎? – NickAldwin 2011-06-07 14:24:37
沒有開玩笑,特別是結尾標籤格式不正確的人? – StriplingWarrior 2011-06-07 14:24:38