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

            Feedback

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

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

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

            2008-09-17 17:05 by 土仔
            實用,收藏!
            欧美日韩精品久久久久| 久久人人爽人人澡人人高潮AV| 久久综合亚洲色HEZYO社区| 一本色道久久88精品综合| 少妇高潮惨叫久久久久久| 青青青青久久精品国产h| 久久99热这里只有精品国产| 久久久亚洲AV波多野结衣| 久久99精品国产麻豆| 久久亚洲精品无码播放| 日韩人妻无码一区二区三区久久 | 久久亚洲精品成人无码网站| 久久精品国产亚洲av麻豆图片| 亚洲欧美日韩精品久久| 成人午夜精品无码区久久| 狠狠久久综合| 精品乱码久久久久久久| 国产免费久久精品99re丫y| 日本一区精品久久久久影院| 亚洲精品蜜桃久久久久久| 久久99精品国产麻豆不卡| 久久精品国产99国产电影网| 久久亚洲私人国产精品| 精品久久久久久国产| 欧美粉嫩小泬久久久久久久| 26uuu久久五月天| 996久久国产精品线观看| 久久久久久久亚洲Av无码| 免费久久人人爽人人爽av| 香蕉久久AⅤ一区二区三区| 久久久久久极精品久久久| 久久精品国产91久久麻豆自制| 久久丫精品国产亚洲av| 久久国产乱子伦免费精品| 久久人人爽人人爽人人AV东京热| 色妞色综合久久夜夜| 狠狠色丁香婷婷久久综合五月| 久久久久久久综合狠狠综合| 人人妻久久人人澡人人爽人人精品| 久久免费99精品国产自在现线| 人妻系列无码专区久久五月天|