任务管理器中出现新进程对应的事件是什么? 这个还真不清楚,不过写驱动是肯定能实现的,用PsSetCreateProcessNotifyRoutine注册一个启动进程的通知,在回调函数里获取进程相关信息,用事件机制通知应用层获取相应内容即可 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static void Main(string[] args) { ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2"); WqlEventQuery query = new WqlEventQuery( "__InstanceCreationEvent", new TimeSpan(0, 0, 1), "TargetInstance isa \"Win32_Process\""); ManagementEventWatcher watcher = new ManagementEventWatcher(scope, query); watcher.EventArrived += (s, e) => { Console.WriteLine("Process {0} has been created.", ((ManagementBaseObject)e.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString()); }; watcher.Start(); Console.ReadKey(); } 大师,你说的这个东东应该可以,不过能不能帮我写下代码:当系统创建了新进程,程序就输出该进程的名称。我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移例子 大师,你说的这个东东应该可以,不过能不能帮我写下代码:当系统创建了新进程,程序就输出该进程的名称。我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移例子谢谢了,不过怎么是c++的?而且在vs2008里编译出错,错误 1 fatal error C1083: 无法打开包括文件:“ntdll.h”: No such file or directory d:\documents and settings\administrator\桌面\processnotify\process_ring3\process_ring3.cpp 8 Process_Ring3错误 2 error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作" ProcessNotify.WXP ProcessNotify.WXP有没有c#的例子啊,感觉好繁琐哦~~ 4楼的办法是C#的,轮询?也算可以吧,我整理下,录以备忘: ManagementScope scope = new ManagementScope(@"\\.\root\CIMV2"); WqlEventQuery query = new WqlEventQuery("__InstanceCreationEvent", new TimeSpan(0, 0, 1), "TargetInstance isa \"Win32_Process\""); ManagementEventWatcher watcher = new ManagementEventWatcher(scope, query); watcher.EventArrived += (s, e) => { Console.WriteLine("Process {0} has been created.", (e.NewEvent.Properties["TargetInstance"].Value as ManagementBaseObject).Properties["Name"].Value); }; watcher.Start(); Console.ReadKey(); 大师,你说的这个东东应该可以,不过能不能帮我写下代码:当系统创建了新进程,程序就输出该进程的名称。我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移例子谢谢了,不过怎么是c++的?而且在vs2008里编译出错,错误 1 fatal error C1083: 无法打开包括文件:“ntdll.h”: No such file or directory d:\documents and settings\administrator\桌面\processnotify\process_ring3\process_ring3.cpp 8 Process_Ring3错误 2 error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作" ProcessNotify.WXP ProcessNotify.WXP有没有c#的例子啊,感觉好繁琐哦~~我都说了写的驱动,只能用C 大牛,顺便把问句,怎么监视死掉了的进程····就是 某个进程被关闭额···ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");WqlEventQuery query2 = new WqlEventQuery( "__InstanceDeletionEvent", new TimeSpan(0, 0, 1), "TargetInstance ISA \"Win32_Process\""); ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2); watcher2.EventArrived += (s2, e2) => { Console.WriteLine("Process {0} has been deleted.", ((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString()); }; watcher2.Start();这个只能“监视”,不知能不能判断它是否“正常”关闭。 大牛,顺便把问句,怎么监视死掉了的进程····就是 某个进程被关闭额···ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");WqlEventQuery query2 = new WqlEventQuery( "__InstanceDeletionEvent", new TimeSpan(0, 0, 1), "TargetInstance ISA \"Win32_Process\""); ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2); watcher2.EventArrived += (s2, e2) => { Console.WriteLine("Process {0} has been deleted.", ((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString()); }; watcher2.Start();这个只能“监视”,不知能不能判断它是否“正常”关闭。是否正常关闭不需要了,我只需要知道他是否是被关掉了··再问下,用这个方法的话,性能怎么样? 好贴,学习下 wmi or wqlevent 关于C#对cad的二次开发调试问题 用string表示的对象怎么转换得到真正的对象? .NET 中如何实现模仿WORD的绘制表格 求 vscrollbar使用的思路,假设要 ‘滚’ 对象是treeview …… 求一正则表达式!! 能否利用C#编译器进行二次编译? MAC地址的格式是啥?为啥我取回的MAC地址和实际的倒着来了? 在C#中怎么设全局变量呀?给我代码! 请教,怎样解决:warning MSB3283: 找不到类型库“Word”的包装程序集 .net 中类似java applet的功能如何实现? WPF中,关于StackPanel的问题 [分享]屏幕花瓣飘飞动画源
{
ManagementScope scope = new System.Management.ManagementScope(@"\\.\root\CIMV2");
WqlEventQuery query = new WqlEventQuery(
"__InstanceCreationEvent",
new TimeSpan(0, 0, 1),
"TargetInstance isa \"Win32_Process\"");
ManagementEventWatcher watcher = new ManagementEventWatcher(scope, query);
watcher.EventArrived += (s, e) => {
Console.WriteLine("Process {0} has been created.",
((ManagementBaseObject)e.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString());
};
watcher.Start(); Console.ReadKey();
}
我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移
例子
我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移
例子
谢谢了,不过怎么是c++的?而且在vs2008里编译出错,
错误 1 fatal error C1083: 无法打开包括文件:“ntdll.h”: No such file or directory d:\documents and settings\administrator\桌面\processnotify\process_ring3\process_ring3.cpp 8 Process_Ring3
错误 2 error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作" ProcessNotify.WXP ProcessNotify.WXP有没有c#的例子啊,感觉好繁琐哦~~
ManagementScope scope = new ManagementScope(@"\\.\root\CIMV2");
WqlEventQuery query = new WqlEventQuery("__InstanceCreationEvent", new TimeSpan(0, 0, 1), "TargetInstance isa \"Win32_Process\"");
ManagementEventWatcher watcher = new ManagementEventWatcher(scope, query);
watcher.EventArrived += (s, e) =>
{
Console.WriteLine("Process {0} has been created.", (e.NewEvent.Properties["TargetInstance"].Value as ManagementBaseObject).Properties["Name"].Value);
};
watcher.Start(); Console.ReadKey();
我献上100分哦,见笑了。vs2008开发的,XP 32bit下测试没有问题,如果是其他系统,请自己改相应偏移
例子
谢谢了,不过怎么是c++的?而且在vs2008里编译出错,
错误 1 fatal error C1083: 无法打开包括文件:“ntdll.h”: No such file or directory d:\documents and settings\administrator\桌面\processnotify\process_ring3\process_ring3.cpp 8 Process_Ring3
错误 2 error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成文件项目操作" ProcessNotify.WXP ProcessNotify.WXP有没有c#的例子啊,感觉好繁琐哦~~我都说了写的驱动,只能用C
WqlEventQuery query2 = new WqlEventQuery(
"__InstanceDeletionEvent",
new TimeSpan(0, 0, 1),
"TargetInstance ISA \"Win32_Process\"");
ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2);
watcher2.EventArrived += (s2, e2) => {
Console.WriteLine("Process {0} has been deleted.",
((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString());
};
watcher2.Start();
这个只能“监视”,不知能不能判断它是否“正常”关闭。
WqlEventQuery query2 = new WqlEventQuery(
"__InstanceDeletionEvent",
new TimeSpan(0, 0, 1),
"TargetInstance ISA \"Win32_Process\"");
ManagementEventWatcher watcher2 = new ManagementEventWatcher(scope, query2);
watcher2.EventArrived += (s2, e2) => {
Console.WriteLine("Process {0} has been deleted.",
((ManagementBaseObject)e2.NewEvent.Properties["TargetInstance"].Value).Properties["Name"].Value.ToString());
};
watcher2.Start();
这个只能“监视”,不知能不能判断它是否“正常”关闭。是否正常关闭不需要了,我只需要知道他是否是被关掉了··
再问下,用这个方法的话,性能怎么样?