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

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

?? tasklistdlg.cpp

?? 嵌入式WINCE任務(wù)管理器的例子,使用EVC開發(fā)實現(xiàn)
?? CPP
字號:
// TaskListDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TaskList.h"
#include "TaskListDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTaskListDlg dialog

CTaskListDlg::CTaskListDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTaskListDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTaskListDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTaskListDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTaskListDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTaskListDlg, CDialog)
	//{{AFX_MSG_MAP(CTaskListDlg)
	ON_BN_CLICKED(IDC_BTNACTIVE, OnBtnactive)
	ON_BN_CLICKED(IDC_BTNREFRESH, OnBtnrefresh)
	ON_BN_CLICKED(IDC_BTNTERMINATE, OnBtnterminate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTaskListDlg message handlers

BOOL CTaskListDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// TODO: Add extra initialization here
	
	    //設(shè)置進(jìn)程列表框標(biāo)題	
	CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LISTPROCESS);

	CRect rt;
    pListCtrl->GetClientRect(&rt);
	pListCtrl->InsertColumn(0,_T("進(jìn)程名"), LVCFMT_LEFT, rt.Width() * 0.35);
    pListCtrl->InsertColumn(1,_T("主窗體標(biāo)題"), LVCFMT_LEFT, rt.Width() * 0.35);
    pListCtrl->InsertColumn(2, _T("線程數(shù)"), LVCFMT_LEFT, rt.Width() * 0.30);



	return TRUE;  // return TRUE  unless you set the focus to a control
}


/*
*函數(shù)介紹:得到CE系統(tǒng)中運(yùn)行的任務(wù)列表
*入口參數(shù):(無)
*出口參數(shù):pList :存儲得到任務(wù)列表信息
*返回值:返回得到的任務(wù)數(shù)
*/
DWORD CTaskListDlg::GetTaskListCE( PTASK_LIST pList) { 

  HINSTANCE         hKernel        = NULL; 
  HINSTANCE         hProcessSnap   = NULL; 
  PROCESSENTRY32 pe32           = {0}; 
  DWORD          dwTaskCount    = 0; 
  

  //狀態(tài)toolhelp.dll動態(tài)連接庫
  hKernel = LoadLibrary(_T("toolhelp.dll")); 
  
  if (!hKernel) {
	  ::MessageBox(NULL, L"Toolhelp.dll加載失敗", L"進(jìn)程列舉", MB_OK);
    return 0;
  }
  
  //創(chuàng)建進(jìn)程映射
  hProcessSnap = (HINSTANCE)CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
  
  //如果失敗,就退出
  if (hProcessSnap == (HANDLE)-1) 
    return 0; 
  
  dwTaskCount = 0; 
  

  //設(shè)置保存進(jìn)程相關(guān)內(nèi)容的變量的結(jié)構(gòu)大小            
  pe32.dwSize = sizeof(PROCESSENTRY32);
  //獲取第一個進(jìn)程,并將此進(jìn)程信息寫入進(jìn)程結(jié)構(gòu)的變量pe32中          
  if (Process32First(hProcessSnap, &pe32)) { 
    do { 
      LPTSTR pCurChar; 
 
      if(_tcsstr(pe32.szExeFile, L"\\")) 
        pCurChar = _tcsrchr(pe32.szExeFile, '\\'); 
      else
        pCurChar = pe32.szExeFile;
      
      lstrcpy(pList-> ProcessName, pCurChar); 
      

      pList ->dwProcessId = pe32.th32ProcessID; 
      pList ->cntThreads = pe32.cntThreads;
      
      ++dwTaskCount;   //進(jìn)程數(shù)目加1
      ++pList;         //移到下一個結(jié)構(gòu)內(nèi)存塊
    } 
    while (Process32Next(hProcessSnap, &pe32)); //移至下一個進(jìn)程
  } 
  else 
    dwTaskCount = 0;    // 
 
  CloseHandle (hProcessSnap); 
  return dwTaskCount; 
}

/*
*函數(shù)介紹:回調(diào)函數(shù),被EnumWindows調(diào)用
*入口參數(shù):hwnd :窗體句柄
*          lParam : 進(jìn)程信息列表指針
*出口參數(shù):lParam :進(jìn)程信息列表指針
*返回值: True代表成功,F(xiàn)alse代表失敗
*/
BOOL CALLBACK CTaskListDlg::EnumWindowsProc( HWND hwnd, DWORD lParam ) { 
  DWORD             pid = 0; 
  DWORD             i; 
  TCHAR             buf[TITLE_SIZE]; 
  PTASK_LIST_ENUM   te = (PTASK_LIST_ENUM)lParam; 
  PTASK_LIST        tlist = te->tlist; 
  DWORD             numTasks = te->numtasks; 
  
  // 根據(jù)窗口句柄,得到進(jìn)程標(biāo)識
  if (!GetWindowThreadProcessId( hwnd, &pid )) { 
    return TRUE; 
  } 
  //查找進(jìn)程標(biāo)識和列表中相同的進(jìn)程標(biāo)識
  for (i=0; i<numTasks; i++) { 
    if (tlist[i].dwProcessId == pid) {
	  if (::IsWindowVisible(hwnd)) {
      tlist[i].hwnd = hwnd; 
      int nCnt = ::GetWindowText( hwnd, buf, TITLE_SIZE );
      buf[nCnt] = '\0';
      if (nCnt) { 
        lstrcpy( tlist[i].WindowTitle, buf ); 
      } 
     }
      break; 
    } 
  } 
  //繼續(xù)列舉窗體
  return TRUE; 
}


/*
*函數(shù)介紹:得到任務(wù)的主窗體標(biāo)題和句柄
*入口參數(shù):te :進(jìn)程信息列表指針
*出口參數(shù):te :進(jìn)程信息列表指針
*返回值: (無)
*/
void CTaskListDlg::GetWindowTitles( PTASK_LIST_ENUM te ) { 
  //列舉系統(tǒng)所有窗體
  EnumWindows((WNDENUMPROC) EnumWindowsProc, (LPARAM) te ); 
} 

/*
*函數(shù)介紹:激活進(jìn)程方法
*入口參數(shù):tlist : 進(jìn)程信息
*出口參數(shù):(無)
*返回值: True:成功;False:失敗
*/
bool CTaskListDlg::ActivateProcess(PTASK_LIST tlist)
{
  //判斷是否存在主窗口,如存在就激活它
  if (tlist->hwnd && tlist->WindowTitle) 
  {
	::SetForegroundWindow(tlist->hwnd);
	::SetActiveWindow(tlist->hwnd);
    return TRUE; 
  }
  else
  { 
	return FALSE;
  } 
} 

/*
*函數(shù)介紹:終止進(jìn)程方法
*入口參數(shù):tlist : 進(jìn)程信息
*出口參數(shù):(無)
*返回值: True:成功;False:失敗
*/
bool CTaskListDlg::KillProcess( PTASK_LIST tlist ) 
{ 
  HANDLE            hProcess; 

  //如果沒有主窗體,則用TerminateProcess終止進(jìn)程
  if (!tlist->hwnd)  
  { 
	//根據(jù)進(jìn)程標(biāo)識,返回進(jìn)程句柄
    hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, tlist->dwProcessId ); 
    //成功的話,終止進(jìn)程
	if (hProcess) 
	{ 
      if (!TerminateProcess( hProcess, 1 )) 
	  { 
        CloseHandle( hProcess ); 
        return FALSE; 
      } 
      CloseHandle( hProcess ); 
      return TRUE; 
    }
	else
	{
	  return FALSE;
	}
  }
  //有主窗體,發(fā)送主窗口關(guān)閉消息,終止線程 
  else
  {
    ::PostMessage( tlist->hwnd, WM_CLOSE, 0, 0 ); 
    return TRUE;
  }
} 



/*
*函數(shù)介紹:刷新按鈕單擊事件
*入口參數(shù):(無)
*出口參數(shù):(無)
*返回值: (無)
*/
void CTaskListDlg::OnBtnrefresh() 
{
	TASK_LIST_ENUM processList; //進(jìn)程列表信息
	TCHAR numBuf[10]; //存儲進(jìn)程中的線程數(shù)

	memset(&g_tlist, 0, sizeof(TASK_LIST) * MAX_TASKS);
	//得到進(jìn)程列表信息
	DWORD nNumTasks = GetTaskListCE(g_tlist);
	processList.numtasks = nNumTasks;
	processList.tlist = g_tlist;
	//更新進(jìn)程列表信息,獲取主窗口句柄和標(biāo)題
	GetWindowTitles(&processList);

    CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LISTPROCESS);

	//清除列表框所有項目
	pListCtrl->DeleteAllItems();
    memset(&numBuf,0,sizeof(numBuf));

	//向列表框中添加進(jìn)程相關(guān)信息
	for (int i=0;i<processList.numtasks;i++)
	{
        //進(jìn)程exe名,標(biāo)題名,線程數(shù)
      pListCtrl->InsertItem(i,_T("Test"));
	  pListCtrl->SetItemText(i,0,processList.tlist[i].ProcessName);
	  pListCtrl->SetItemText(i,1,processList.tlist[i].WindowTitle);	 
	  _itow(processList.tlist[i].cntThreads,numBuf,10);
	  pListCtrl->SetItemText(i,2,numBuf);
	}

}



/*
*函數(shù)介紹:激活進(jìn)程按鈕單擊事件
*入口參數(shù):(無)
*出口參數(shù):(無)
*返回值: (無)
*/
void CTaskListDlg::OnBtnactive() 
{
   CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LISTPROCESS);
   POSITION	 pos = pListCtrl->GetFirstSelectedItemPosition();
   if (pos)
   {
     int nItemIndex = pListCtrl->GetNextSelectedItem(pos);
	 //激活進(jìn)程
	 ActivateProcess(&g_tlist[nItemIndex]);
   }
}

/*
*函數(shù)介紹:終止進(jìn)程按鈕單擊事件
*入口參數(shù):(無)
*出口參數(shù):(無)
*返回值: (無)
*/
void CTaskListDlg::OnBtnterminate() 
{
   CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LISTPROCESS);
   POSITION	 pos = pListCtrl->GetFirstSelectedItemPosition();
   if (pos)
   {
     int nItemIndex = pListCtrl->GetNextSelectedItem(pos);
	 //終止進(jìn)程
	 KillProcess(&g_tlist[nItemIndex]);
   }
   //刷新進(jìn)程列表
   SendMessage(WM_COMMAND, (WPARAM)IDC_BTNREFRESH, 0);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频线观看86| 97se狠狠狠综合亚洲狠狠| 国产精品萝li| 日韩一级在线观看| 日本精品视频一区二区三区| 美国一区二区三区在线播放| 夜夜嗨av一区二区三区中文字幕| 精品久久人人做人人爱| 欧美日韩一区高清| 99在线热播精品免费| 国产美女av一区二区三区| 亚洲成av人**亚洲成av**| 国产精品护士白丝一区av| 精品欧美一区二区三区精品久久| 日本韩国欧美一区二区三区| 成人97人人超碰人人99| 国产一区二区在线看| 免费欧美高清视频| 午夜精品久久久久久久 | 色天天综合色天天久久| 黑人巨大精品欧美黑白配亚洲| 亚洲丶国产丶欧美一区二区三区| 1区2区3区国产精品| 国产精品热久久久久夜色精品三区| 精品久久免费看| 日韩欧美美女一区二区三区| 欧美久久久久中文字幕| 欧美午夜电影一区| 色94色欧美sute亚洲13| 91亚洲国产成人精品一区二区三| 成人app网站| 成人美女在线观看| 成人av小说网| 99久久免费国产| 91色在线porny| 色噜噜狠狠色综合中国| 一本一道久久a久久精品| 99麻豆久久久国产精品免费| jlzzjlzz亚洲日本少妇| eeuss影院一区二区三区| 高清不卡一二三区| 成人免费视频国产在线观看| 成人一二三区视频| 99久久精品免费看国产免费软件| 北条麻妃一区二区三区| 97se亚洲国产综合自在线不卡 | 欧美丰满一区二区免费视频| 欧美日韩精品福利| 正在播放一区二区| 精品久久久久久久久久久院品网| 精品欧美一区二区久久| 久久亚洲欧美国产精品乐播| 国产拍欧美日韩视频二区| 久久久777精品电影网影网| 国产精品免费久久久久| 亚洲欧美日韩综合aⅴ视频| 亚洲一区二区在线免费看| 亚州成人在线电影| 美女视频黄频大全不卡视频在线播放| 奇米综合一区二区三区精品视频| 久久精品国产精品亚洲精品| 国产成人在线视频播放| 91麻豆精品一区二区三区| 欧美日韩在线播放三区四区| 欧美一区二区三区免费大片 | 日韩一级在线观看| 国产亚洲欧美日韩俺去了| ...xxx性欧美| 天天免费综合色| 国产精品18久久久久久久久久久久| 国产福利一区二区三区在线视频| 9l国产精品久久久久麻豆| 欧美日韩一区 二区 三区 久久精品| 日韩欧美成人激情| 1024国产精品| 乱一区二区av| 91黄视频在线| 精品国产乱码久久久久久闺蜜| 中文幕一区二区三区久久蜜桃| 亚洲一区二区三区四区在线| 久久不见久久见免费视频7 | 国产精品91xxx| 色综合咪咪久久| 欧美一区日韩一区| 日韩理论片在线| 激情成人综合网| 欧美性欧美巨大黑白大战| 2022国产精品视频| 亚洲成av人片在线| 成人黄色片在线观看| 这里只有精品电影| 亚洲欧美怡红院| 久久不见久久见免费视频7| 色视频成人在线观看免| 精品电影一区二区| 亚洲成人一区二区在线观看| 国产suv精品一区二区883| 7777精品伊人久久久大香线蕉最新版 | 色诱视频网站一区| 国产三级精品视频| 日本sm残虐另类| 欧美午夜在线观看| 亚洲视频一区在线观看| 国产一区在线视频| 日韩午夜三级在线| 亚洲成人动漫在线观看| 色综合中文字幕| 亚洲国产高清不卡| 经典三级一区二区| 91精品国产91久久久久久最新毛片| 亚洲欧美日韩国产综合在线| 国产精品自拍av| 日韩视频免费直播| 日韩精品一级中文字幕精品视频免费观看 | 久色婷婷小香蕉久久| 欧美日韩另类一区| 亚洲综合免费观看高清在线观看| 大胆亚洲人体视频| 久久精品亚洲麻豆av一区二区| 日本不卡123| 欧美一区欧美二区| 五月天欧美精品| 色婷婷国产精品综合在线观看| 中文字幕一区二区三区在线观看 | 欧美日韩一区视频| 亚洲精品视频一区二区| 91丝袜美女网| 国产精品第四页| av在线播放不卡| 自拍偷拍亚洲综合| 91丝袜美女网| 一区二区三区在线免费观看| 91在线看国产| 亚洲免费观看视频| 欧洲一区二区av| 一区二区视频在线| 精品视频在线视频| 亚洲二区在线视频| 884aa四虎影成人精品一区| 午夜久久久久久| 日韩欧美亚洲国产精品字幕久久久| 日本亚洲三级在线| 欧美电视剧在线观看完整版| 精品一区二区三区久久| 久久精品视频一区| bt7086福利一区国产| 亚洲免费观看高清完整版在线观看| 99久久精品99国产精品| 亚洲精品福利视频网站| 欧美日产国产精品| 蜜臀av一区二区在线免费观看| 日韩久久久久久| 国产aⅴ综合色| 亚洲人成精品久久久久久| 日本高清不卡视频| 亚洲成人av一区| 亚洲精品一区二区三区在线观看| 九九精品一区二区| 国产精品久久久一本精品| 色综合久久综合| 喷水一区二区三区| 国产视频一区二区三区在线观看| 99久久久无码国产精品| 亚洲 欧美综合在线网络| 精品国产伦理网| 不卡的av电影| 日韩二区三区在线观看| 久久久久久麻豆| 在线观看视频91| 九一九一国产精品| 综合中文字幕亚洲| 在线电影欧美成精品| 福利电影一区二区三区| 亚洲精品久久7777| 精品国产乱码久久久久久影片| av男人天堂一区| 三级欧美在线一区| 中文字幕精品一区二区三区精品| 欧美在线短视频| 国内精品免费**视频| 亚洲黄色性网站| 欧美精品一区男女天堂| 91黄色免费看| 国产曰批免费观看久久久| 洋洋成人永久网站入口| 26uuu国产电影一区二区| 91福利在线免费观看| 国产精品一区一区三区| 亚洲地区一二三色| 国产精品麻豆视频| 欧美成人福利视频| 在线一区二区三区四区五区| 国产原创一区二区三区| 亚洲va欧美va人人爽| 中文字幕国产一区二区| 欧美成人一级视频| 欧美日韩一区成人| 93久久精品日日躁夜夜躁欧美| 国产一区视频网站| 视频精品一区二区|