• <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 小鼬 閱讀(1930) 評論(2)  編輯 收藏 引用 所屬分類: 1.WIN程序設計

            Feedback

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

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

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

            2008-09-17 17:05 by 土仔
            實用,收藏!
            丁香五月网久久综合| 久久久久亚洲国产| 久久久国产精品福利免费| 久久免费美女视频| 久久久久这里只有精品| 99久久精品免费看国产一区二区三区 | 99久久超碰中文字幕伊人| 精品久久香蕉国产线看观看亚洲| 国产99久久九九精品无码| 久久亚洲AV无码精品色午夜麻豆| 久久久久久毛片免费播放| 天天爽天天爽天天片a久久网| 亚洲精品国产综合久久一线| 国产午夜精品久久久久免费视| 久久99精品久久久久久齐齐| 亚洲精品午夜国产VA久久成人| 色综合久久中文色婷婷| 亚洲精品乱码久久久久久中文字幕 | 理论片午午伦夜理片久久| 久久人人爽人人爽人人AV | 粉嫩小泬无遮挡久久久久久| 人妻无码精品久久亚瑟影视| 97久久精品人妻人人搡人人玩 | 久久电影网一区| 欧美精品九九99久久在观看| 色综合久久88色综合天天| 亚洲伊人久久精品影院| 亚洲欧洲精品成人久久曰影片| 2021精品国产综合久久| 亚洲日韩中文无码久久| 亚洲国产精品成人AV无码久久综合影院 | 国产午夜久久影院| 久久久久亚洲精品无码蜜桃| 亚洲国产精品无码久久久秋霞2| 久久久久久久综合日本| 国产成人无码精品久久久免费| 久久成人国产精品二三区| 91精品国产91久久综合| 精品久久久久久中文字幕| 99久久无色码中文字幕| 久久免费国产精品一区二区|