亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? schedlab.cpp

?? Windows核心編程配套書的源代碼請參考原書一起看
?? CPP
字號:
/******************************************************************************
Module:  SchedLab.cpp
Notices: Copyright (c) 2000 Jeffrey Richter
******************************************************************************/


#include "..\CmnHdr.h"     /* See Appendix A. */
#include <windowsx.h>
#include <tchar.h>
#include <process.h>       // For _beginthreadex
#include "Resource.h"


///////////////////////////////////////////////////////////////////////////////


DWORD WINAPI ThreadFunc(PVOID pvParam) {

   HANDLE hThreadPrimary = (HANDLE) pvParam;
   SuspendThread(hThreadPrimary);
   chMB(
      "The Primary thread is suspended.\n"
      "It no longer responds to input and produces no output.\n"
      "Press OK to resume the primary thread & exit this secondary thread.\n");
   ResumeThread(hThreadPrimary);
   CloseHandle(hThreadPrimary);

   // To avoid deadlock, call EnableWindow after ResumeThread.
   EnableWindow(
      GetDlgItem(FindWindow(NULL, TEXT("Scheduling Lab")), IDC_SUSPEND), 
      TRUE);
   return(0);
}


///////////////////////////////////////////////////////////////////////////////


BOOL Dlg_OnInitDialog (HWND hwnd, HWND hwndFocus, LPARAM lParam) {
   
   chSETDLGICONS(hwnd, IDI_SCHEDLAB);

   // Initialize process priority classes
   HWND hwndCtl = GetDlgItem(hwnd, IDC_PROCESSPRIORITYCLASS);

   int n = ComboBox_AddString(hwndCtl, TEXT("High"));
   ComboBox_SetItemData(hwndCtl, n, HIGH_PRIORITY_CLASS);

   // Save our current priority class
   DWORD dwpc = GetPriorityClass(GetCurrentProcess());

   if (SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS)) {

      // This system supports the BELOW_NORMAL_PRIORITY_CLASS class

      // Restore our original priority class
      SetPriorityClass(GetCurrentProcess(), dwpc);

      // Add the Above Normal priority class
      n = ComboBox_AddString(hwndCtl, TEXT("Above normal"));
      ComboBox_SetItemData(hwndCtl, n, ABOVE_NORMAL_PRIORITY_CLASS);

      dwpc = 0;  // Remember that this system supports below normal
   }

   int nNormal = n = ComboBox_AddString(hwndCtl, TEXT("Normal"));
   ComboBox_SetItemData(hwndCtl, n, NORMAL_PRIORITY_CLASS);

   if (dwpc == 0) {

      // This system supports the BELOW_NORMAL_PRIORITY_CLASS class

      // Add the Below Normal priority class
      n = ComboBox_AddString(hwndCtl, TEXT("Below normal"));
      ComboBox_SetItemData(hwndCtl, n, BELOW_NORMAL_PRIORITY_CLASS);
   }

   n = ComboBox_AddString(hwndCtl, TEXT("Idle"));
   ComboBox_SetItemData(hwndCtl, n, IDLE_PRIORITY_CLASS);

   ComboBox_SetCurSel(hwndCtl, nNormal);

   // Initialize thread relative priorities
   hwndCtl = GetDlgItem(hwnd, IDC_THREADRELATIVEPRIORITY);
   
   n = ComboBox_AddString(hwndCtl, TEXT("Time critical"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_TIME_CRITICAL);

   n = ComboBox_AddString(hwndCtl, TEXT("Highest"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_HIGHEST);

   n = ComboBox_AddString(hwndCtl, TEXT("Above normal"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_ABOVE_NORMAL);

   nNormal = n = ComboBox_AddString(hwndCtl, TEXT("Normal"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_NORMAL);

   n = ComboBox_AddString(hwndCtl, TEXT("Below normal"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_BELOW_NORMAL);

   n = ComboBox_AddString(hwndCtl, TEXT("Lowest"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_LOWEST);

   n = ComboBox_AddString(hwndCtl, TEXT("Idle"));
   ComboBox_SetItemData(hwndCtl, n, THREAD_PRIORITY_IDLE);

   ComboBox_SetCurSel(hwndCtl, nNormal);

   Edit_LimitText(GetDlgItem(hwnd, IDC_SLEEPTIME), 4);   // Maximum of 9999
   return(TRUE);
}


///////////////////////////////////////////////////////////////////////////////


void Dlg_OnCommand (HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) {

   switch (id) {
      case IDCANCEL:
         PostQuitMessage(0);
         break;

      case IDC_PROCESSPRIORITYCLASS:
         if (codeNotify == CBN_SELCHANGE) {
            SetPriorityClass(GetCurrentProcess(), (DWORD)
               ComboBox_GetItemData(hwndCtl, ComboBox_GetCurSel(hwndCtl)));
         }
         break;

      case IDC_THREADRELATIVEPRIORITY:
         if (codeNotify == CBN_SELCHANGE) {
            SetThreadPriority(GetCurrentThread(), (DWORD)
               ComboBox_GetItemData(hwndCtl, ComboBox_GetCurSel(hwndCtl)));
         }
         break;

      case IDC_SUSPEND:
         // To avoid deadlock, call EnableWindow before creating
         // the thread which calls SuspendThread.
         EnableWindow(hwndCtl, FALSE);

         HANDLE hThreadPrimary;
         DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), 
            GetCurrentProcess(), &hThreadPrimary, 
            THREAD_SUSPEND_RESUME, FALSE, DUPLICATE_SAME_ACCESS);
         DWORD dwThreadID;
         CloseHandle(chBEGINTHREADEX(NULL, 0, ThreadFunc, 
            hThreadPrimary, 0, &dwThreadID));
         break;
   }
}


///////////////////////////////////////////////////////////////////////////////


INT_PTR WINAPI Dlg_Proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {

   switch (uMsg) {
      chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Dlg_OnInitDialog);
      chHANDLE_DLGMSG(hwnd, WM_COMMAND,    Dlg_OnCommand);
   }

   return(FALSE);
}


///////////////////////////////////////////////////////////////////////////////


int WINAPI _tWinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int) {

   HWND hwnd = 
      CreateDialog(hinstExe, MAKEINTRESOURCE(IDD_SCHEDLAB), NULL, Dlg_Proc);
   BOOL fQuit = FALSE;

   while (!fQuit) {
      MSG msg;
      if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {

         // IsDialogMessage allows keyboard navigation to work properly.
         if (!IsDialogMessage(hwnd, &msg)) {

            if (msg.message == WM_QUIT) {
               fQuit = TRUE;  // For WM_QUIT, terminate the loop.
            } else {
               // Not a WM_QUIT message. Translate it and dispatch it.
               TranslateMessage(&msg);
               DispatchMessage(&msg);
            }
         }  // if (!IsDialogMessage())
      } else {

         // Add a number to the listbox
         static int s_n = -1;
         TCHAR sz[20];
         wsprintf(sz, TEXT("%u"), ++s_n);
         HWND hwndWork = GetDlgItem(hwnd, IDC_WORK);
         ListBox_SetCurSel(hwndWork, ListBox_AddString(hwndWork, sz));

         // Remove some strings if there are too many entries
         while (ListBox_GetCount(hwndWork) > 100)
            ListBox_DeleteString(hwndWork, 0);

         // How long should the thread sleep
         int nSleep = GetDlgItemInt(hwnd, IDC_SLEEPTIME, NULL, FALSE);
         if (chINRANGE(1, nSleep, 9999))
            Sleep(nSleep);
      }
   }
   DestroyWindow(hwnd);
   return(0);
}


//////////////////////////////// End of File //////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠成人中文综合| 处破女av一区二区| 日韩片之四级片| 狠狠色综合日日| 久久这里只有精品首页| 成人一区二区在线观看| 亚洲欧美日韩系列| 欧美色涩在线第一页| 日日嗨av一区二区三区四区| 欧美一区二区三区视频免费| 精品一区二区三区在线视频| 国产亚洲一区二区三区四区| 99精品欧美一区二区三区小说| 亚洲激情图片一区| 91精品国产高清一区二区三区蜜臀| 乱一区二区av| 亚洲欧美一区二区在线观看| 欧美探花视频资源| 久久精品国产在热久久| 国产精品久久三| 欧美撒尿777hd撒尿| 日本怡春院一区二区| 久久九九久精品国产免费直播| 成人av免费观看| 日本中文字幕一区二区视频 | 精品少妇一区二区三区在线视频| 国产毛片精品国产一区二区三区| 国产精品免费aⅴ片在线观看| 在线精品视频一区二区三四| 激情欧美一区二区三区在线观看| 日韩一区在线播放| 日韩久久精品一区| 91丝袜呻吟高潮美腿白嫩在线观看| 午夜久久久久久| 国产女同互慰高潮91漫画| 欧美三级视频在线| 国产成人av福利| 日韩电影免费在线看| 成人欧美一区二区三区| 欧美电影免费观看高清完整版在线观看 | 亚洲色图欧美激情| 日韩精品一区二区三区蜜臀| 99r国产精品| 久久av资源网| 亚洲国产sm捆绑调教视频| 中文字幕国产一区| 精品福利av导航| 欧美三级午夜理伦三级中视频| 成人深夜视频在线观看| 九九国产精品视频| 亚洲国产视频a| 亚洲柠檬福利资源导航| 久久精品欧美日韩精品| 91精品国产91久久久久久一区二区| 99在线精品免费| 国产一区二区精品久久| 琪琪久久久久日韩精品| 一二三四区精品视频| 亚洲女子a中天字幕| 国产精品五月天| 日本一区二区不卡视频| 欧美大片在线观看一区| 91麻豆精品久久久久蜜臀| 欧美日韩黄视频| 色综合色狠狠综合色| 91在线小视频| 不卡区在线中文字幕| 成人精品视频网站| 国产成人在线观看免费网站| 激情五月婷婷综合| 久久99精品国产.久久久久| 麻豆成人av在线| 久久精品国产精品青草| 九九视频精品免费| 国产综合色在线视频区| 欧美aaaaaa午夜精品| 日韩**一区毛片| 精品中文字幕一区二区| 久久99精品视频| 国产一区二区91| 国产成人av自拍| 成人av集中营| 色一情一乱一乱一91av| 欧美三级在线看| 欧美一区二区视频在线观看2020 | 亚洲精品日韩专区silk| 亚洲黄一区二区三区| 一区二区三区鲁丝不卡| 亚洲综合一区在线| 日本亚洲一区二区| 久久精品国产77777蜜臀| 韩国一区二区在线观看| 国产精品中文字幕欧美| 成人久久久精品乱码一区二区三区| 不卡视频在线看| 91国偷自产一区二区三区观看 | 一本久久精品一区二区 | 日韩欧美中文一区| 国产午夜精品在线观看| 1024成人网| 亚洲成国产人片在线观看| 美女视频第一区二区三区免费观看网站| 久久精品久久精品| a在线欧美一区| 欧亚一区二区三区| 欧美一区二区三区思思人| 日本一区二区视频在线观看| 亚洲欧美欧美一区二区三区| 五月综合激情日本mⅴ| 国产精品正在播放| 在线观看欧美精品| 久久久久久97三级| 亚洲一区二区三区视频在线| 久久国产精品区| 91黄色免费版| 国产喂奶挤奶一区二区三区| 亚洲一区自拍偷拍| 国内精品国产三级国产a久久| 99精品欧美一区二区三区综合在线| 欧美精品在线观看播放| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩一区和二区| 国产精品每日更新| 日本欧洲一区二区| www.色综合.com| 日韩美一区二区三区| 亚洲女同一区二区| 国产精品1区2区| 欧美日本一道本在线视频| 国产精品美女久久久久高潮| 免费在线看一区| 色婷婷久久久综合中文字幕 | 亚洲国产日韩精品| 成人av电影在线播放| 精品欧美一区二区在线观看| 亚洲一区二区三区四区五区中文 | 日韩欧美国产1| 亚洲一区在线播放| 床上的激情91.| 日韩欧美二区三区| 丝袜美腿亚洲色图| 91色九色蝌蚪| 国产欧美精品一区二区色综合朱莉 | 制服丝袜国产精品| 亚洲综合在线视频| eeuss鲁片一区二区三区在线观看| 日韩欧美成人午夜| 天堂一区二区在线免费观看| 色94色欧美sute亚洲线路二| 蜜臂av日日欢夜夜爽一区| 一本大道久久精品懂色aⅴ| 久久久www成人免费无遮挡大片 | 日韩欧美久久一区| 日韩精品亚洲一区| 欧美午夜精品久久久久久孕妇 | 国产亚洲短视频| 久久99精品久久久久久| 日韩一卡二卡三卡国产欧美| 亚洲成人精品一区二区| 精品视频1区2区3区| 亚洲综合在线第一页| 欧美伊人久久大香线蕉综合69| 国产精品久久久久久久久免费相片 | 天天综合网 天天综合色| 色综合天天在线| 综合久久久久久| 一本到高清视频免费精品| 亚洲欧美区自拍先锋| 色综合一个色综合亚洲| 亚洲乱码中文字幕| 色婷婷精品久久二区二区蜜臀av | 日韩欧美亚洲一区二区| 久久国产欧美日韩精品| 久久噜噜亚洲综合| 国产精品羞羞答答xxdd| 国产精品午夜在线观看| 99精品久久99久久久久| 亚洲狠狠爱一区二区三区| 欧美精品久久99| 欧美精品日韩一区| 美女看a上一区| 国产欧美一区二区精品忘忧草| 粉嫩久久99精品久久久久久夜| 国产精品人成在线观看免费| 在线精品亚洲一区二区不卡| 污片在线观看一区二区| 日韩写真欧美这视频| 国产精品18久久久久久久久| 国产精品久久国产精麻豆99网站| 91麻豆高清视频| 日韩精品成人一区二区在线| 欧美精品一区二区三区蜜桃视频| 粉嫩一区二区三区性色av| 亚洲黄色av一区| 日韩精品在线一区二区| 国产精品18久久久久久久久久久久 | 粉嫩欧美一区二区三区高清影视| 亚洲欧洲综合另类| 91精品国产乱| 99久久亚洲一区二区三区青草 |