zoukankan      html  css  js  c++  java
  • 更新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);
    }
  • 相关阅读:
    js正则表达式中的问号使用技巧总结
    380. Insert Delete GetRandom O(1)
    34. Find First and Last Position of Element in Sorted Array
    162. Find Peak Element
    220. Contains Duplicate III
    269. Alien Dictionary
    18. 4Sum
    15. 3Sum
    224. Basic Calculator
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/wangzhigang/p/5233524.html
Copyright © 2011-2022 走看看