• <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久久人人爽亚洲精品美女| 久久久噜噜噜久久| 久久天天躁狠狠躁夜夜躁2014| 激情伊人五月天久久综合| 69国产成人综合久久精品| 国产成人精品久久一区二区三区av| 伊人久久大香线蕉精品不卡| 久久久久久毛片免费播放| 亚洲精品国产成人99久久| 久久福利资源国产精品999| 久久国产精品99精品国产| 色综合久久天天综线观看| 国产高潮国产高潮久久久| 久久亚洲AV成人无码软件| 青青青国产成人久久111网站| 久久精品国产2020| 91精品国产高清久久久久久91| 久久精品国产亚洲AV电影| 日韩欧美亚洲国产精品字幕久久久| 欧美一区二区精品久久| 日产精品久久久一区二区| 亚洲精品无码久久不卡| 国产AV影片久久久久久| 久久青青草原国产精品免费 | 99久久99久久精品国产| 久久久SS麻豆欧美国产日韩| 久久性精品| 亚洲国产成人精品无码久久久久久综合| 国产精品99久久不卡| 日韩人妻无码精品久久久不卡| 久久久久亚洲精品天堂久久久久久| 中文字幕亚洲综合久久2| 久久久久免费看成人影片| 久久精品国产亚洲AV香蕉| 久久久久亚洲AV无码专区体验| 色狠狠久久AV五月综合| 一本色道久久HEZYO无码| 久久免费视频一区|