• <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 土仔
            實用,收藏!
            国内精品久久久久久久coent | 99久久99久久精品免费看蜜桃 | 狠狠色丁香婷婷久久综合五月| 日本精品一区二区久久久| 亚洲人成网站999久久久综合| 久久免费看黄a级毛片| 狠狠色丁香婷综合久久| 无码精品久久一区二区三区 | 久久91精品国产91久久户| 国产免费久久久久久无码| 伊人久久大香线蕉AV色婷婷色| 亚洲乱亚洲乱淫久久| 色欲综合久久躁天天躁蜜桃| 久久一区二区三区免费| 久久久久亚洲av无码专区| 日韩电影久久久被窝网| 狠狠久久综合| 久久精品9988| 国内精品久久久久影院免费| 精品熟女少妇AV免费久久| 久久影院午夜理论片无码| 99久久综合狠狠综合久久止| 久久亚洲精品中文字幕| 伊人久久成人成综合网222| 精品国产一区二区三区久久蜜臀| 99久久精品影院老鸭窝| 色婷婷综合久久久久中文| 久久精品免费一区二区| 国产欧美久久久精品影院| 久久久青草青青国产亚洲免观| 国产亚洲精久久久久久无码AV| 97精品国产97久久久久久免费| 久久91综合国产91久久精品| 久久精品国产影库免费看 | 久久成人国产精品免费软件| 色综合久久中文字幕综合网| 久久精品亚洲乱码伦伦中文 | 日日躁夜夜躁狠狠久久AV| 久久久久女人精品毛片| AV无码久久久久不卡蜜桃| 99久久99久久精品国产片果冻|