我想做一个工具类似XueTr一样,可以列出说有进程,然后单击进程查看所有线程,这一步做到了,下面就是怎么暂停单击进程显示出来的线程,也就是怎么暂停和恢复某个进程下的线程。
小弟将仅有的100分贡献出来
求大神们指点, 小弟在线等回复...
少年,放弃吧,进程可以列出 线程可以列出,就暂停,挂起, 是C#做不来的。不用在线等了,下线学C++吧
好吧, 谢谢你了, 我翻阅了半天也没有找到相关资料, 谢谢你,键盘上的牛仔。
C#可以调用Windows API,就看Windows API中是否提供接口了。C#调用Windows API详情可Google“P/Invoke”
调用Win32API应该可以搞定
Xuetr这样的ARK工具,在应用层使用的是大量的平台API来完成类似进程/线程/模块/句柄的枚举以及操作(挂起,结束)。
一些暴力的动作涉及驱动的开发,包括对隐藏进程,线程的查找这些都是涉及到底层HOOK技术的,所以这些都是C#所无法实现的.
但是实现这样一个程序不是不可能,只是需要大量的P/Invoke操作而已,以前我就写过一个只是找不到源码,如果楼主决定写,可以给我信息,我想在你开发中应该可以帮助到你一些的
暂停和恢复外部线程基本上是靠pinvoke调用windows api来实现的。这里有一个C#封装好的例子,应该能满足你的需求:http://stackoverflow.com/questions/71257/suspend-process-in-c-sharp。
你可以设一个外部变量,让线程根据外部变量自己控制自己啊,比如暂停比如恢复
你看这个想法怎么样?
首先在你想控制的外部程序里提供一个控制接口.
可以输入线程ID,以及操作(暂停,挂起,恢复)等枚举.
然后在此接口里实现对应的操作.
你的控制程序只需要调用它提供的接口,传参数去控制就好.