判斷檔案是否被開啟
方法一:通過try catch對檔案的移動操作,如果檔案開啟,將不能移動,會進入catch段**,通過返回bool值來反應是否能正常移動
private void button2_click(object sender, eventargs e)
private static bool isopen(string filepath)
catch(exception e)
}
方法二:_lopen(filen,of_readwrite|of_share_deny_none)檢測返回值
[dllimport("kernel32.dll")]
public static extern intptr _lopen(string filepath,int ireadwrite);
[dllimport("kernel32.dll")]
public static extern bool closehandle(intptr hobject);
public const int of_readwrite = 2;
public const int of_share_deny_none = 0x40;
public readonly intptr hfile_error = new intptr(-1);
private void button3_click(object sender, eventargs e)
closehandle(vhandle);
messagebox.show("未被占用!");
}
其中,對應txt檔案,當txt檔案被記事本開啟後,程式不會鎖定,對於除txt檔案的其他檔案,上面的方法都可以正常實現。
我們可以通過對process程序的迴圈遍歷來判斷檔案是否被notepad開啟。
private void button5_click(object sender, eventargs e)
}}
C 判斷檔案是否被開啟占用
using system.io using system.runtime.interopservices dllimport kernel32.dll public static extern intptr lopen string lppathname,int ireadwrite dllimpo...
c 檢查檔案是否被開啟
using system.io using system.runtime.interopservices 首先引用api 函式 dllimport kernel32.dll private static extern intptr lopen string lppathname,int ireadw...
C 判斷檔案是否被混淆
可以使用混淆工具對乙個dll 和 exe 進行混淆。但是如何知道乙個檔案是否已經混淆了。在發布之前,需要知道是不是有檔案忘了混淆。要判斷檔案是否混淆,必須知道常用的混淆手法。混淆就是因為編寫的 c 轉換 il 可以很容易被反編譯,從而知道了源 不利於保護軟體,不利於防止破解。所以可以通過混淆來讓反編...