-1

尊敬する先生、
私の質問は、私が自分のtxtファイル、つまりabc.txtを開いているときに、自分のコンピューターで実行中または開いているファイルのみのフルパスを取得したいということです。

Process prs=Process.GetProcessByName("notepad");
foreach(Process p in prs)
{
     p.Modules[0].FileName.ToString();
}

Notepad.exe パスが表示されます。これを取得できるように、D:\abc.txt のようなテキスト ファイル パスが必要です。

ありがとうございました

4

3 に答える 3

2
string fullPath = Path.GetFullPath(strFileName);
于 2010-08-18T11:25:06.413 に答える
1

FileSystemEventHandlerをアタッチして、どのファイルが開かれているか、または変更されているかを確認できます。

多分これが役立つでしょう

http://www.codeguru.com/csharp/csharp/cs_network/article.php/c6043

于 2010-08-18T11:30:59.100 に答える
0

メモ帳の場合、次のようにファイルの名前を取得できます。

Process[] prs = Process.GetProcessesByName("notepad");
foreach (Process p in prs)
{
    string title = p.MainWindowTitle;
    Console.WriteLine(title.Substring(0, title.IndexOf('-') -1));
}

重要な部分は次のとおりです。

title.Substring(0, title.IndexOf('-') -1)

残念ながら、これでは完全なパスは得られません。

于 2010-08-18T11:30:07.510 に答える