51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3600|回复: 12
打印 上一主题 下一主题

[原创] 杀进程 DLL 增强版发布

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-28 20:05:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下午发布了一个功能不强的杀进程 DLL,具体链接如下
http://bbs.51testing.com/thread-65884-1-1.html
这个 DLL 只能终止一个进程,如果存在两个或多个同名进程,则无能为力,我稍微修改了一下源代码,制作了能杀多个同名进程的 DLL,用途也发现了,如果有多个同名窗口打开,而这多个窗口又对应多个同名进程,可以用此 DLL 关闭这些窗口和进程,不用再编代码了,新版 DLL 核心源代码如下,大家可以参照原版代码和新版本来理解如何进行自己的扩展,呵呵,开源就是有这点好处


*************************************************
WINDLL_API int killprocess(char * processname)
{
      
HANDLE hSnapshot,hProcess;
int flag;
int eqflag=0;
long int pid=-1;
hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32* processInfo=new PROCESSENTRY32;
processInfo->dwSize=sizeof(PROCESSENTRY32);
    flag=Process32First(hSnapshot,processInfo);
while(flag!=0)
{
eqflag=0;
    for(int j=0;processInfo->szExeFile[j]!='\0';j++)
{
      
if(processInfo->szExeFile[j]!=processname[j])
  eqflag=1;
  
}
//printf("%d\n",eqflag);
if(eqflag==0)
    {
     pid=processInfo->th32ProcessID;
     hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,pid);
     TerminateProcess(hProcess,0);
     
}
flag=Process32Next(hSnapshot,processInfo);
}
CloseHandle(hSnapshot);
//printf("%d",pid);
if(pid==-1)
return 0;
    //printf("%d",hProcess);
return 1;

}
*********************************************************
新版 DLL 见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-2-28 20:11:28 | 只看该作者
此版本只能关闭用户进程,无法关闭 SYSTMEM 级进程,目前还不清楚为什么,有知道的朋友请告知,我会发布更新版本,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-3-1 09:51:50 | 只看该作者
关注ing
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-1 09:54:26 | 只看该作者
收藏以供研究,谢谢~!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-3-1 10:32:07 | 只看该作者
测试了一下,在 WinRunner 中也OK了
脚本如下

extern int killprocess(string);
load_dll("C:\\windll.dll");
rs=killprocess("QQ.exe");
pause(rs);
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-3-1 19:13:23 | 只看该作者
好,我来帮你来一下
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-3-8 15:35:58 | 只看该作者
顶,精神可嘉~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-9-13 22:34:38 | 只看该作者
这个代码的功能是干嘛的?杀进程,,貌似QTP自己就有杀进程的函数吧!
SystemUtil.CloseProcessByName "QQ.exe"
何必要那么麻烦哦
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-9-13 22:35:21 | 只看该作者
不过可以作为一个dll调用研究的列子
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-9-13 22:52:49 | 只看该作者
SystemUtil.CloseProcessByName

有什么区别吗?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-9-17 15:56:31 | 只看该作者
不错最近正想找这样的工具呢
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-9-18 08:45:49 | 只看该作者
下载了,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-9-18 09:13:08 | 只看该作者
原帖由 coletan 于 2007-9-13 22:35 发表
不过可以作为一个dll调用研究的列子


请问qtp怎么调用dll,我只知道winrunner可以
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-22 03:42 , Processed in 0.088016 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表