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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lockcop.cpp

?? Windows via C/C++, Fifth Edition圖書(shū)源代碼
?? CPP
字號(hào):
/******************************************************************************
Module:  LockCop.cpp
Notices: Copyright (c) 2008 Jeffrey Richter & Christophe Nasarre
******************************************************************************/


#include "..\CommonFiles\CmnHdr.h"     /* See Appendix A. */
#include "..\CommonFiles\ToolHelp.h"
#include "ChainParser.h"
#include "resource.h"

#include <windowsx.h>
#include <tchar.h>
#include <StrSafe.h>


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


// Global Variables
HINSTANCE   g_hInstance;
HWND        g_hDlg;

#define DETAILS_CTRL GetDlgItem(g_hDlg, IDC_EDIT_DETAILS)

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


// Adds a string to the "Details" edit control
void AddText(PCTSTR pszFormat, ...) {

   va_list argList;
   va_start(argList, pszFormat);

   TCHAR sz[20 * 1024];

   Edit_GetText(DETAILS_CTRL, sz, _countof(sz));
   _vstprintf_s(
      _tcschr(sz, TEXT('\0')), _countof(sz) - _tcslen(sz), 
      pszFormat, argList);
   Edit_SetText(DETAILS_CTRL, sz);
   va_end(argList);
}



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


void OnRefreshProcesses()
{
   HWND hwndList = GetDlgItem(g_hDlg, IDC_COMBO_PROCESS);
   SetWindowRedraw(hwndList, FALSE);
   ComboBox_ResetContent(hwndList);

   CToolhelp thProcesses(TH32CS_SNAPPROCESS);
   PROCESSENTRY32 pe = { sizeof(pe) };
   BOOL fOk = thProcesses.ProcessFirst(&pe);
   for (; fOk; fOk = thProcesses.ProcessNext(&pe)) {
      TCHAR sz[1024];

      // Place the process name (without its path) & ID in the list
      PCTSTR pszExeFile = _tcsrchr(pe.szExeFile, TEXT('\\'));
      if (pszExeFile == NULL) {
         pszExeFile = pe.szExeFile;
      } else {
         pszExeFile++; // Skip over the slash
      }

      StringCchPrintf(sz, _countof(sz), TEXT("%04u - %s"), pe.th32ProcessID, pszExeFile);
      int n = ComboBox_AddString(hwndList, sz);

      // Associate the process ID with the added item
      ComboBox_SetItemData(hwndList, n, pe.th32ProcessID);
   }
   ComboBox_SetCurSel(hwndList, 0);  // Select the first entry

   // Simulate the user selecting this first item so that the
   // results pane shows something interesting
   FORWARD_WM_COMMAND(g_hDlg, IDC_COMBO_PROCESS, 
      hwndList, CBN_SELCHANGE, SendMessage);

   SetWindowRedraw(hwndList, TRUE);
   InvalidateRect(hwndList, NULL, FALSE);
}


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


void OnUpdateLocks()
{
   SetWindowText(DETAILS_CTRL, TEXT(""));   // Clear the output box

   // Get current process from the combo box
   HWND hwndCtl = GetDlgItem(g_hDlg, IDC_COMBO_PROCESS);
   DWORD dwSelection = ComboBox_GetCurSel(hwndCtl);
   DWORD PID = (DWORD) ComboBox_GetItemData(hwndCtl, dwSelection);

   AddText(TEXT("Threads in process %u\r\n"), PID);
   
   CChainParser parser(DETAILS_CTRL);
   parser.ParseThreads(PID);
}


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


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

   switch (id) {
      case IDOK:
      case IDCANCEL:
         // User has clicked on the OK button
         // or dismissed the dialog with ESCAPE
         EndDialog(hwnd, id);
         break;

      case IDC_COMBO_PROCESS:
         if (codeNotify == CBN_SELCHANGE) {
            OnUpdateLocks();
         }
         break;

      case IDC_BTN_REFRESH:
         OnRefreshProcesses();
         break;

      case IDC_BTN_UPDATE:  
         OnUpdateLocks();
         break;
   }
}


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


BOOL Dlg_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) {

   chSETDLGICONS(hwnd, IDI_LOCKCOP);

   // Keep track of the main dialog window handle
   g_hDlg = hwnd;

   // Have the results window use a fixed-pitch font
   SetWindowFont(GetDlgItem(hwnd, IDC_EDIT_DETAILS), 
      GetStockFont(ANSI_FIXED_FONT), FALSE);

   // Fill up the process combo-box
   OnRefreshProcesses();
   
   return(TRUE);
}


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


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

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

   return(FALSE);
}


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


int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	UNREFERENCED_PARAMETER(hPrevInstance);
	UNREFERENCED_PARAMETER(lpCmdLine);

   // Keep track of the module handle
   g_hInstance = hInstance;

   // Enabling the debug privilege allows the application to see
   // information about service applications
   CToolhelp::EnablePrivilege(SE_DEBUG_NAME, TRUE);

   // Show main window 
   DialogBox(hInstance, MAKEINTRESOURCE(IDD_LOCKCOP), NULL, Dlg_Proc);

   // Restore privileges
   // Even though it is not really important since the process is exiting
   CToolhelp::EnablePrivilege(SE_DEBUG_NAME, FALSE);


   return(0);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区在线| 96av麻豆蜜桃一区二区| 欧美一区二区三区的| 日本va欧美va精品| 亚洲精品一区二区三区福利| 久久99国产精品久久99果冻传媒| 精品sm捆绑视频| 成人深夜视频在线观看| 亚洲一区二区三区四区在线观看| 欧美精三区欧美精三区| 国产精品亚洲一区二区三区妖精 | 国产精品久久久久一区| 94-欧美-setu| 日本美女一区二区| 国产喷白浆一区二区三区| 97久久人人超碰| 日韩成人免费电影| 久久午夜国产精品| 色爱区综合激月婷婷| 免费观看在线色综合| 国产精品毛片大码女人| 777午夜精品免费视频| 国产福利精品一区| 亚洲一级二级三级在线免费观看| 精品国产免费一区二区三区四区| 波多野洁衣一区| 日本不卡的三区四区五区| 亚洲欧洲精品一区二区精品久久久 | 日韩一卡二卡三卡四卡| 成人一区二区三区视频在线观看| 亚洲一区在线视频观看| 2020国产精品自拍| 在线一区二区三区四区五区| 久久99热这里只有精品| 亚洲精品日韩综合观看成人91| 精品少妇一区二区三区视频免付费| 成人免费观看av| 日韩不卡免费视频| 日韩一区在线看| 久久老女人爱爱| 欧美日韩久久不卡| 97久久超碰国产精品电影| 9i在线看片成人免费| 国产综合久久久久影院| 亚洲影院理伦片| 国产精品久久久久久一区二区三区 | 亚洲美女淫视频| 久久久精品日韩欧美| 8v天堂国产在线一区二区| 91免费小视频| 国产成人免费高清| 精品一二线国产| 日韩在线观看一区二区| 亚洲视频香蕉人妖| 国产精品国产三级国产aⅴ原创| 欧美大片国产精品| 91精品综合久久久久久| 日本精品视频一区二区三区| 懂色av一区二区三区免费看| 精品一区二区三区香蕉蜜桃| 人人超碰91尤物精品国产| 亚洲一区二区免费视频| 亚洲激情五月婷婷| 亚洲美女精品一区| 亚洲欧美日韩国产手机在线| 国产精品―色哟哟| 国产精品伦一区| 国产精品国产自产拍高清av王其| 久久久久国产精品人| 久久亚洲一区二区三区明星换脸| 欧美一级淫片007| 欧美成人aa大片| 精品国精品自拍自在线| 26uuu色噜噜精品一区二区| 欧美成人三级在线| 久久日韩精品一区二区五区| 欧美xxxxxxxx| 久久久国产精品麻豆| 久久久久久久久久美女| 国产视频一区二区在线观看| 欧美激情中文不卡| 国产精品久99| 亚洲综合一二三区| 亚洲成人免费视| 奇米一区二区三区av| 极品尤物av久久免费看| 国产成人免费视频一区| 99精品偷自拍| 91豆麻精品91久久久久久| 欧美日韩国产一二三| 正在播放一区二区| 久久青草国产手机看片福利盒子| 国产午夜精品福利| 最好看的中文字幕久久| 亚洲午夜精品久久久久久久久| 偷窥少妇高潮呻吟av久久免费| 奇米888四色在线精品| 国产老肥熟一区二区三区| 东方欧美亚洲色图在线| 欧美视频日韩视频| 日韩一区二区精品| 国产精品网站导航| 亚洲成人综合视频| 国产精品亚洲午夜一区二区三区| 成a人片亚洲日本久久| 欧美日韩国产不卡| 久久精品一二三| 一区二区三区中文字幕电影 | 国产精品小仙女| 色88888久久久久久影院按摩| 777久久久精品| 国产精品久久三| 午夜电影久久久| 成人综合日日夜夜| 欧美精品1区2区3区| 亚洲国产高清在线| 天堂影院一区二区| 成人h精品动漫一区二区三区| 欧美性生交片4| 欧美激情综合五月色丁香小说| 亚洲成av人片在线| proumb性欧美在线观看| 日韩欧美一区二区久久婷婷| 亚洲天堂久久久久久久| 激情五月播播久久久精品| 欧美午夜一区二区三区| 国产片一区二区三区| 免费成人在线播放| 欧美午夜片在线观看| 国产精品国产自产拍在线| 精品一区二区三区免费毛片爱 | 国产精品蜜臀av| 免费观看久久久4p| 在线观看一区日韩| 国产精品久久久久久久久久久免费看| 天天色综合天天| 色婷婷亚洲综合| 欧美激情一区二区三区| 国内精品自线一区二区三区视频| 欧美日韩国产欧美日美国产精品| 中文字幕一区二区三中文字幕| 亚洲最大成人综合| 99re8在线精品视频免费播放| 欧美精品一区二区三| 视频一区中文字幕| 欧美综合在线视频| 亚洲视频电影在线| 成av人片一区二区| 国产精品麻豆网站| 成熟亚洲日本毛茸茸凸凹| 久久久久久电影| 韩国女主播成人在线| 欧美成人精品福利| 亚洲成av人片观看| 欧美中文字幕一区| 亚洲综合免费观看高清完整版| 丁香婷婷综合激情五月色| 久久婷婷国产综合国色天香| 日本伊人午夜精品| 欧美一卡在线观看| 蜜桃av噜噜一区| 欧美一卡二卡三卡四卡| 另类小说一区二区三区| 日韩欧美在线综合网| 亚洲第一电影网| 欧美精品久久一区| 日本在线不卡视频一二三区| 日韩视频免费观看高清完整版 | 久久精品视频免费| 国产最新精品精品你懂的| 26uuu国产一区二区三区| 国产一区二区在线影院| 国产午夜亚洲精品午夜鲁丝片| 国产一区二区网址| 国产欧美日韩一区二区三区在线观看| 国产精品伊人色| 国产精品久久一卡二卡| 日本韩国欧美国产| 亚洲成人综合网站| 日韩欧美国产综合| 国内国产精品久久| 亚洲国产经典视频| 欧洲一区二区三区在线| 午夜精品久久久久久久久久久 | 欧美性生活大片视频| 天天综合天天综合色| 精品欧美一区二区久久 | 波多野洁衣一区| 亚洲与欧洲av电影| 日韩欧美在线123| 大胆亚洲人体视频| 亚洲一区在线观看免费观看电影高清 | 91丨国产丨九色丨pron| 亚洲一二三区在线观看| 精品少妇一区二区三区在线视频 | 国产在线不卡一区| 国产精品久久影院| 欧美一区永久视频免费观看| 国产一区二区三区香蕉| 一区二区三区四区不卡视频|