现在有2个问题或者可以归类为一个问题需要解决。比如我当前再任务栏中打开了几个任务,当前活跃的是一个doc文档,如何能过获取到这个word文档的绝对地址呢。 C:\Documents and Settings\admin\桌面\1.doc?????还有就是,任务管理器的进程列表和应用程序的列表都是可以获取的,如何获取应用程序列表中任务的绝对地址或者文件夹的目录地址呢?C:\Documents and Settings\admin\桌面\1.docC:\Documents and Settings\admin\桌面\paper32889[1].pdfC:\Documents and Settings\admin\桌面C:\Program Files\Internet Explorer\IEXPLORE.EXE
翻了好几次msdn也没找到合适的方法,希望各位大侠帮帮忙了。
翻了好几次msdn也没找到合适的方法,希望各位大侠帮帮忙了。
Process[] ps = System.Diagnostics.Process.GetProcesses();
foreach (Process p in ps)
{
if (p.MainWindowHandle != null)
{
try
{
Console.WriteLine(p.MainModule.FileName);//是可以打出路径来的
}
catch (Exception ex)
{
}
}
}
也就是这个了,筛选的话,自己做么,程序都是.EXE,其他的.doc,.pdf等等!
并不是每个应用程序的标题,而是每个应用程序的完整路径+名称,对于同一名字的多个进程而言,只能打印一次,所以没有得同一应用程序多个实例的主窗体标题;可以用这样一个方法:调用系统的API,枚举所有的窗口标题;
Process[] ps = System.Diagnostics.Process.GetProcesses();
foreach (Process p in ps)
{
if (p.MainWindowHandle != null)
{
try
{
Console.WriteLine(p.MainModule.FileName);//打出路径来
}
catch (Exception ex)
{
}
}
}
******************************************************************************************
C:\WINDOWS\system32\mdm.exe
F:\Mine\源码\你好\你好\explorer.exe
C:\Program Files\MSN Messenger\msnmsgr.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\wuauclt.exe
C:\WINDOWS\system32\conime.exe
C:\WINDOWS\System32\svchost.exe
C:\Documents and Settings\windflower\桌面\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe
C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 6.0\avp.exe
C:\WINDOWS\system32\services.exe
C:\WINDOWS\system32\nutsrv4.exe
C:\Program Files\360safe\safemon\360tray.exe
E:\Program Files\FairyQQ\QQ.exe
C:\Program Files\ZTE IM\IM.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\taskmgr.exe
C:\WINDOWS\SOUNDMAN.EXE
E:\vs6\Common\MSDev98\Bin\MSDEV.EXE
C:\Program Files\Kingsoft\Powerword 2007\xdict.exe
C:\Program Files\Internet Explorer\iexplore.exe
C:\Program Files\lotus\notes\NLNOTES.EXE
C:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe
C:\Program Files\lotus\notes\ntaskldr.EXE
C:\WINDOWS\system32\notepad.exe
打印出来的只是进程的地址,而不是文件的地址。或者,退而求其次,能打印出当前打开的word的地址就可以了。