在我的应用程序中,我需要获取打开的文件的文件名。我发现了几个线程,关于如何获取正在运行的进程的名称,但没有关于如何获取当前打开文档的文件名(或路径,至少我需要文件名)。
我知道如何获得这条道路:
FileInfo info = new FileInfo(fileName)
string path = info.FullName;
但要使用它,我需要字符串“fileName”,它是当前打开文件的名称。
有什么建议吗? :)
答案 0 :(得分:0)
如果您有文件的路径,则可以使用以下代码获取文件名:
string path = string.Empty;
string fileName = Path.GetFileName(path);
答案 1 :(得分:0)
你应该P / Invoke有一个API: 尝试GetFileInformationByHandleEx http://msdn.microsoft.com/en-us/library/aa364953(VS.85).aspx,这需要使用文件句柄。
答案 2 :(得分:0)
尝试此功能,为其指定文件路径,如果文件已打开,则会返回false
public bool ckIsFileOpnen(string sFileFullPath)
{
try
{
using (Stream stream = new FileStream(sFileFullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
}
return true; //file is available for write
}
catch { }
return false;
}