Я пытаюсь получить имя файла текущего процесса.
то есть: если у меня есть файл "test.txt", открытый в Блокноте, мне нужно получить что-то вроде "c: \ folder \ test.txt"
Приведенный ниже код возвращает информацию о процессе, включая путь к программному обеспечению. (например: "c: \ windows \ system32 \ notepad.exe").
[DllImport("user32.dll", EntryPoint = "GetForegroundWindow", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern int GetForegroundWindow();
[...]
public static string GetFilePathName()
{
uint procId = 0;
int hWnd = GetForegroundWindow();
GetWindowThreadProcessId(hWnd, out procId);
var proc = Process.GetProcessById((int)procId);
}
Можно ли использовать этот класс процесса для достижения открытого имени файла / пути, который обрабатывает текущий процесс?