飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3298|回复: 1

把码高手在哪里?

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 1537 天

    [LV.Master]伴坛终老

    发表于 2016-12-6 20:53:16 | 显示全部楼层 |阅读模式
    10飘云币
    本帖最后由 风轻云淡 于 2016-12-6 20:56 编辑

    PS:Q神指点了下,但小弟才疏学浅,还在门外徘徊。
    1.遍历进程,查看进程中是否存在QQ.EXE,如果存在,等待30S后继续遍历。
                                                                       如果不存在,则启动QQ的快捷方式,D:\QQ
    2.cmd下我这样实现的
    [Asm] 纯文本查看 复制代码
    @echo off
    :check
    tasklist | find /i "qq.exe"  ||start d:\\QQ"
    ping -n 30 127.0.0.1>nul
    goto check


    3.百度遍历进程,不知道如何取出数组,与QQ.EXE对比
    [C++] 纯文本查看 复制代码
    #include <iostream>
    #include <stdio.h>
    #include "stdafx.h"
    #include <windows.h>
    #include <tlhelp32.h> 
    
    using namespace std;
    
    int main()
    {
                    PROCESSENTRY32 pe32;
                    pe32.dwSize = sizeof(pe32);
                    // 给系统内的所有进程拍一个快照
                    HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
                    
                     if (hProcessSnap == INVALID_HANDLE_VALUE)
                    {
                            printf("CreateToolhelp32Snapshot调用失败! \n");
                            return -1;
                    }
                    // 遍历进程快照,轮流显示每个进程的信息
                    BOOL bMore = ::Process32First(hProcessSnap, &pe32);
                    while (bMore)
                    {
                            printf("进程名:%ws\n",pe32.szExeFile);
                            //printf(" 进程ID号:%u \n\n", pe32.th32ProcessID);
                            bMore = ::Process32Next(hProcessSnap, &pe32);
                    }
                    ::CloseHandle(hProcessSnap);
        return 0;
    }

    PYG19周年生日快乐!
  • TA的每日心情

    2017-12-31 15:45
  • 签到天数: 120 天

    [LV.7]常住居民III

    发表于 2016-12-6 21:56:15 | 显示全部楼层
    #include <iostream>
    #include <windows.h>
    #include <TlHelp32.h>
    #include <string>

    int main()
    {
        PROCESSENTRY32 stpi;
        BOOL bResume;
        HANDLE htool = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        stpi.dwSize = sizeof(stpi);
        bResume = Process32First(htool, &stpi);
        while (bResume)
        {
            if (strcmp(stpi.szExeFile, "QQ.exe") == 0)
            {
                std::cout << "找到QQ.EXE,现在延迟30s,而后重新遍历" << std::endl;
                Sleep(3000);
                CloseHandle(htool);
                htool = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
                bResume = Process32First(htool, &stpi);
                continue;
            }
            else
            {
                bResume = Process32Next(htool, &stpi);
            }
        }
        CloseHandle(htool);
        std::cout << "没有找到QQ.EXE,启动QQ.EXE" << std::endl;
        /**
            没看懂你这里启动快捷方式是什么意思,自己写吧
        */
        return 0;
    }
    PYG19周年生日快乐!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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