• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            //發送模擬按鍵ctrl+eSC和‘U’; 由進程名結束進程
            //、、、自己關機的個東西

            #ifndef WINVER    
            // 允許使用特定于 Windows XP 或更高版本的功能。
            #define WINVER 0x0501  // 將此值更改為相應的值,以適用于 Windows 的其他版本。
            #endif

            #ifndef _WIN32_WINNT  
            // 允許使用特定于 Windows XP 或更高版本的功能。
            #define _WIN32_WINNT 0x0501 // 將此值更改為相應的值,以適用于 Windows 的其他版本。
            #endif      

            #ifndef _WIN32_WINDOWS  
            // 允許使用特定于 Windows 98 或更高版本的功能。
            #define _WIN32_WINDOWS 0x0410 // 將此值更改為適當的值,以指定將 Windows Me 或更高版本作為目標。
            #endif

            #ifndef _WIN32_IE   
            // 允許使用特定于 IE 6.0 或更高版本的功能。
            #define _WIN32_IE 0x0600 // 將此值更改為相應的值,以適用于 IE 的其他版本。
            #endif

            #define WIN32_LEAN_AND_MEAN  // 從 Windows 頭中排除極少使用的資料


            #include 
            <windows.h>
            #include 
            <tlhelp32.h>  
            #include 
            <stdlib.h>
            #define num 2 //要結束的進程的數量
            LPSTR lpsz[num]
            ={"IEXPLoRE.EXE","k-meleon.exe"};

            DWORD WINAPI StopProcess(LPVOID lpParam);

            int main(){
            HANDLE hThread;

            KEYBDINPUT  ki[
            9]={
            {VK_SHIFT,MapVirtualKey(VK_SHIFT, 
            0),KEYEVENTF_KEYUP,0,0},
            {VK_MENU,MapVirtualKey(VK_MENU, 
            0),KEYEVENTF_KEYUP,0,0},
            {
            'U',MapVirtualKey('U'0),KEYEVENTF_KEYUP,0,0},

            {VK_CONTROL,MapVirtualKey(VK_CONTROL, 
            0),0,0,0},
            {VK_ESCAPE,MapVirtualKey(VK_ESCAPE, 
            0),0,0,0},
            {VK_ESCAPE,MapVirtualKey(VK_ESCAPE, 
            0),KEYEVENTF_KEYUP,0,0},
            {VK_CONTROL,MapVirtualKey(VK_CONTROL,
            0),KEYEVENTF_KEYUP,0,0},

            {
            'U',MapVirtualKey('U'0),0,0,0},
            {
            'U',MapVirtualKey('U'0),KEYEVENTF_KEYUP,0,0}
            };

            INPUT inputs[
            9];
            for(int i=0;i!=9;i++){
                inputs[i].type 
            = INPUT_KEYBOARD;
                inputs[i].ki 
            = ki[i];
            }

            //結束進程:
            hThread=CreateThread(NULL, 0, StopProcess, NULL, 0, NULL);
            SetThreadPriority(hThread,THREAD_PRIORITY_TIME_CRITICAL);
            WaitForSingleObject(hThread,INFINITE);
            CloseHandle(hThread);
            //WaitForSingleObject只是查詢,還是得CloseHandle回收資源

            //關機界面:
            SendInput(7,inputs,sizeof(inputs[0]));
            //這里sleep的時間得根據自己機子設置 最多sleep500足夠了 我機子sleep100有時不行
            Sleep(3
            00);//難道必須sleep?不能一次SendInput()?不是說SendInput發送的是流么
            SendInput(2,&inputs[7],sizeof(inputs[0]));

            }

            //認為同一名字的進程只有一個。 (算法上還可以更…)
            DWORD WINAPI StopProcess(LPVOID lpParam){
              HANDLE   hSnapshot
            =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);   
              PROCESSENTRY32   pe;   
              
            int k(num);
              HANDLE   hProcess;   
              
            if(k==0return 0;
              Process32First(hSnapshot,
            &pe);   
              
            do   
              {   
                  
            for(int i=0;i!=num;i++)
                      
            if(lstrcmpi(pe.szExeFile,lpsz[i])==0)   
                      {   
                          k
            --;
                          hProcess
            =OpenProcess(PROCESS_TERMINATE,FALSE,pe.th32ProcessID);   
                          
            if (hProcess) {
                              TerminateProcess(hProcess,
            0);//關閉進程   
                              CloseHandle(hProcess);//OpenProcess打開的也要關閉
                          }
                      }   
              }
            while(Process32Next(hSnapshot,&pe) && k);   
              CloseHandle(hSnapshot); 
              
            return 0;
            }
            Posted on 2008-09-16 12:09 小鼬 閱讀(1936) 評論(2)  編輯 收藏 引用 所屬分類: 1.WIN程序設計

            Feedback

            # re: 發送模擬按鍵&&由進程名結束進程  回復  更多評論   

            2008-09-16 13:36 by true
            不錯,很實用

            # re: 發送模擬按鍵&&由進程名結束進程  回復  更多評論   

            2008-09-17 17:05 by 土仔
            實用,收藏!
            久久精品国产亚洲av麻豆蜜芽| 国产精品久久久久久福利漫画| 久久亚洲中文字幕精品一区四| 亚洲午夜无码久久久久| 伊人久久精品线影院| 狠狠色婷婷久久综合频道日韩 | 久久成人18免费网站| 99re久久精品国产首页2020| 国内精品久久久久久麻豆 | …久久精品99久久香蕉国产| 国产69精品久久久久9999| 狠狠88综合久久久久综合网| 综合人妻久久一区二区精品| 久久亚洲精品视频| 久久综合综合久久97色| 久久婷婷五月综合成人D啪| 精品午夜久久福利大片| 国产欧美一区二区久久| 热久久最新网站获取| 色天使久久综合网天天| 色诱久久久久综合网ywww| 囯产精品久久久久久久久蜜桃| 99久久精品免费观看国产| 国产精品久久久天天影视| 亚洲精品国精品久久99热一| 久久精品国产久精国产思思| 国产精品久久久久久| jizzjizz国产精品久久| 久久久国产乱子伦精品作者| 波多野结衣AV无码久久一区| 亚洲人成网站999久久久综合 | 亚洲国产成人久久综合一 | 久久99精品久久久久久9蜜桃| 久久久久人妻一区精品色| 无码AV波多野结衣久久| 中文国产成人精品久久不卡| 久久午夜羞羞影院免费观看| 少妇精品久久久一区二区三区| 精品综合久久久久久97| 国产精品美女久久久久| 777米奇久久最新地址|