2013-03-07 38 views
0

如何找到不同應用程序的所有打開文件的完整路徑,即Word,pdf閱讀器或Excel?
我試過附加的代碼,但只找到文件名而不是完整的文件路徑。如何找到所有打開的word或excel文件

 foreach (Process p in Process.GetProcessesByName("excel")) 
      try 
      { 
       if (p.MainWindowTitle.Length > 0) 
       { 
        Console.WriteLine("======================"); 
        Console.WriteLine("Window Title:" + p.MainWindowTitle.ToString()); 
        Console.WriteLine("Process Name:" + p.ProcessName.ToString()); 
        Console.WriteLine("Window Handle:" + p.MainWindowHandle.ToString());  
       } 
      } 
      catch { } 
+1

看看:http://stackoverflow.com/q/177146/1380061 – Fredrik 2013-03-07 14:08:40

+0

請注意,某些應用程序可以打開多個文件,所以單個值將是不夠的。 – 2013-03-07 14:14:39

回答

0

這爲我工作:

Console.WriteLine("Full Path:" + p.MainModule.FileName); 
+0

這將返回應用程序的完整路徑,而不是應用程序當前打開的文件的完整路徑,這是要求的,我相信(很難說實際上......) – Fredrik 2013-03-07 14:07:45

+0

你是完全正確的..我想念這個問題。 – Hogan 2013-03-07 14:13:30