在Compact Framework C#中获取活动进程

时间:2010-12-19 21:37:28

标签: c# windows-mobile compact-framework

我要做的是获取拥有当前从另一个进程关注的窗口的可执行文件的名称。该计划的目的是跟踪您在每个计划中花费的时间。 我尝试使用GetWindowThreadProcessId(GetForegroundWindow())(都在“coredll.dll”中)执行此操作,然后对其使用Process.GetProcessById(),但我得到的进程对象始终具有Process.StartInfo.FileName的“”。它似乎在Windows Mobile中无法正常工作。有谁知道如何做到这一点?感谢

2 个答案:

答案 0 :(得分:0)

如果GetwindowThreadProcessId失败了,或许获取所有进程并为每个进程调用EnumWindows将返回一个窗口,其窗口与前台窗口相同。

答案 1 :(得分:0)

我使用OpenNETCF库:

string appName = string.Format("{0}.exe",    Assembly.GetExecutingAssembly().GetName().Name.ToLower());
var processes = ProcessEntry.GetProcesses().Where(p => appName.Equals(p.ExeFile.ToLower()));

当前流程正在流程中