网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.自定义控件(支持模板).
.C++程序设计中的多态技术研究.
.VC中解决两个难懂的安全性问题.
.贪婪算法---0/1背包问题.
.C++中函数指针数组的妙用.
.简易实现网上动态信息发布.
.VC++编程实现对波形数据的频谱分.
.Linux 下的多进程编程.
.C++对象布局及多态之虚成员函数调.
.对一个问题的突破!.
.Windows Sockets:字节排序.
.简单飘雪程序.
.动态汉化Windows技术的分析.
.关于 MD5 的一些知识.
.想成为嵌入式程序员应知道的0x10.
.轻轻松松从C一路走到C++系列文章.
.Win32下两种用于C++的线程同步类.
.C&C++论战之C++真的还有未来吗?.
.单链表的c语言实现(1).
.拦截Windows消息.

不知道程序的窗口句柄时结束该程序的进程

发表日期:2008-3-8



  假如只要判定EXE的名字(不需要判定路径),可以省略EnumProcess,因为
pe32.szExeFile 里就已经有EXE的名字了,因为没有路径,所以才又使用了
函数EnumProcess来取得完整的路径。这样就简洁一些了。
BOOL CALLBACK EnumWinProc(HWND hwnd, LPARAM lParam)
{
    DWord dwID;

    GetWindowThreadProcessId(hwnd, &dwID);
    if (dwID == (DWORD)lParam) {
        PostMessage(hwnd, WM_QU99v, 0, 0);
        return FALSE;
    }
    return TRUE;
}

void KillProgram(LPCSTR ExeName)
{
    char *File;
    HANDLE hProcessSnap;
    PROCESSENTRY32 pe32;

    if (!ExeName !ExeName[0])
        return;
    File = strrchr(ExeName, '\\');
    if (File!=0) ExeName = File+1;
    hProcessSnap = CreateToolhelp32Snapshot(
        TH32CS_SNAPPROCESS, 0);
    if (hProcessSnap == (HANDLE)-1) return;

    memset(&pe32, 0, sizeof(pe32));
    pe32.dwSize = sizeof(PROCESSENTRY32);
    if (Process32First(hProcessSnap, &pe32))
    {
        do {
            memset(&me32, 0, sizeof(me32));
            me32.dwSize = sizeof(me32);
            File = strrchr(pe32.szExeFile, '\\');
            File = File? File+1 : pe32.szExeFile;
            if (strcmpi(File,ExeName)==0) {
                EnumWindows((WNDENUMPROC)EnumWinProc,
                   pe32.th32ProcessID);
            }
        }
        while(Process32Next(hProcessSnap,&pe32));
    }
    CloseHandle(hProcessSnap);
}


上一篇:猜数游戏 人气:540
下一篇:沧海一粟之垃圾游戏一 人气:458
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐