• 更新win7资源管理器


    更新exeplorer.exe:

    1、方法1:

    void RefreshExplorer()
    {
        char strShell[1024];
        SHELLEXECUTEINFOA shellExeInfo={0};
        shellExeInfo.cbSize=sizeof(SHELLEXECUTEINFOA);
        shellExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS;
        shellExeInfo.nShow=SW_HIDE;
        shellExeInfo.lpVerb="open";
        GetSystemDirectoryA(strShell,1024);
        strcat(strShell,"\taskkill.exe");
        shellExeInfo.lpFile=strShell;
        shellExeInfo.lpParameters="/F /IM explorer.exe";
        ShellExecuteExA(&shellExeInfo);
        WaitForSingleObject(shellExeInfo.hProcess,INFINITE);
        GetWindowsDirectoryA(strShell,1024);
        strcat(strShell,"\explorer.exe");
        WinExec(strShell,SW_SHOW);
    }

    方法2:

    char* tolow(char *s)
    {
        int i, j; 
        for (i = 0;i < strlen(s); i++)
        { 
            for (j = 0;j < strlen(s); j++) 
                if (s[j] >= 'A' && s[j] <= 'Z') 
                    s[j] = s[j] - 'A' + 'a'; 
        }
        return s;
    }
    
    //杀死进程
    void kill(char proc[1024])
    {
        HANDLE   hSnapShot   =   ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  
        if(hSnapShot   ==   0)  
            return;  
        PROCESSENTRY32   thePE;  
        thePE.dwSize   =   sizeof(PROCESSENTRY32); 
        //遍历正在运行的第一个系统进程
        bool   Status   =   Process32First(hSnapShot,&thePE);  
        bool   bHaveFlag   =   false;  
        DWORD  ProcessID = 0;
        while(Status)  
        {
            //遍历正在运行的下一个系统进程 
            Status   =   Process32Next(hSnapShot,&thePE); 
            char myproc[1024] ;
            strcpy(myproc,thePE.szExeFile);
            strcpy(myproc,tolow(myproc));//转小写
            //找到相应的进程 **.exe
            if (strcmp(myproc,proc)==0)
            {  
                bHaveFlag   =   true;  
                ProcessID   =   thePE.th32ProcessID;  
                //结束指定的进程 ProcessID
                if(!TerminateProcess(OpenProcess (PROCESS_TERMINATE||PROCESS_QUERY_INFORMATION,false,ProcessID),0)) //参数为0,会引起资源管理器自动重启! 
                {
                    MessageBox(NULL, TEXT("无法终止指定的进程"), TEXT("提示"), MB_OK);
                }
                break;  
            }  
        }  
        CloseHandle(hSnapShot);
    }
  • 相关阅读:
    剑指 Offer 03. 数组中重复的数字
    Leetcode_80: removeDuplicates
    Leetcode_27: removeElement
    Leetcode_26: removeDuplicates
    Leetcode-283: moveZeroes
    Module build failed: Error: Cannot find module 'node-sass’解决
    js实现简单的计算器
    根据经纬度显示地图、地图缩小偏移处理
    js实现滑动到屏幕底部
    【基础】在网页中嵌入页面
  • 原文地址:https://www.cnblogs.com/wangzhigang/p/5233524.html
Copyright © 2020-2023  润新知