freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

windows進程管理工具設計與實現(有源程序代碼(編輯修改稿)

2025-12-22 17:10 本頁面
 

【文章內容簡介】 程序是基于對話框的程序。首先創(chuàng)建一個基于對話框的應用程序, 在主對話框類 PcsMgrDlg 中添加一個標簽控件用于放置任務、進程和系統信息等三個頁面 ,如圖 3。 圖 3 標簽控件 子對話框的顯示 子對話框的顯示與切換 ,是通過標簽控件完成的。當用戶點擊標簽控件上的每一項時 ,分別顯示對應頁面的相關信息。 要顯示三個子對話框 ,需要添加三個對話框到工程中 ,并將 Style 屬性設為 Child,Board 設為 None,取 消標題欄。再分別創(chuàng)建三個對話框的類CTask ,CProcess,CChart,并定義這三個類的變量 : CTask m_Task。 //任務 CProcess m_Process。 //進程 CChart m_Chart。//圖表 并定義一個圖像列表變量用于存放標簽圖標 :CImageList m_ImageList。 接下來就創(chuàng)建子窗口 : ,。 ,。 ,。 當用戶選擇標簽中的一項是 ,為了將對應的對話框在標簽控件中顯示出來 ,需要在 OnShowWindowBOOL bShow,UINT nStatus 中添加代碼相關代碼。這樣便可將在個對話框分別顯示于標簽控件的每個頁面中 ,但要實現選擇標簽的不同項顯示不同頁面還需在 OnSelchangeMaintabNMHDR* pNMHDR,LRESULT* pResult和 OnSelchangingMaintabNMHDR* pNMHDR,LRESULT* pResult 兩函數中添加顯示代碼。 void CPcsMgrDlg::OnSelchangeMaintabNMHDR* pNMHDR, LRESULT* pResult case 0:。//任務頁面被選中 ,則顯示任務頁面 。 break。 case 1:。 //任務頁面被選中 ,則顯示進程頁面 。 break。 case 2:。 //任務頁面被選中 ,則顯示系統信息頁面 。 break。 實現菜單 關機、注銷、重起菜單命令是通過調用一個 Windows API 函數ExitWindowsEx 完成的。但在 Windows 98 和 Windows 2020 實現稍有不同。ExitWindowsEx 函數定義格式 : BOOL ExitWindowsEx UINT uFlags //操作 DWORD dwReason //原因 。 在 Windows 98 實現“注銷 /重啟 /關機”功能將直接調用 ExitWindiwsEx函數 : ExitWindowsExEWX_LOGOFF,0。// 注銷 ExitWindowsExEWX_REBOOT,0。// 重啟 ExitWindowsExEWX_SHUTDOWN,0。 // 關機 在 Windows 2020 實現“注銷 /重啟 /關機”功能須取得高級權限 : LookupPrivilegeValueNULL,SE_SHUTDOWN_NAME,amp。[0].Luid。 1。 [0].Attributes SE_PRIVILEGE_ENABLED。 AdjustTokenPrivilegeshToken,FALSE,amp。tkp,0,PTOKEN_PRIVILEGESNULL,0。 ExitWindowsExFFlag,0。 新建菜單直接調用系統運行對話框 : RUN RunFileDlg。 RunFileDlg RUNGetProcAddresshShell32, MAKEINTRESOURCE61。 開機自動運行可在注冊表的主鍵” HKEY_LOCAL_MACHINE”下的運行子鍵”Software\Microsoft\Windows\CurrentVersion\Run”下寫入和刪除一個鍵 值的方法實現。 提升本程序權限 為了能夠終止所有進程 ,需要提升本進程的權限 : 先調用 GetCurrentProcess 函數取得當前進程的句柄 。 然后調用 OpenProcessToken 打開當前進程的訪問令牌 。 接著調用 LookupPrivilegeValue 函數取得你想提升的權限的值 。 最后調用 AdjustTokenPrivileges 函數給當前進程的訪問令牌增加權限。 相關代碼是在 CPcsMgrApp 類的 InitInstance 函數中添加。 任 務列表頁面設計 該類實現當前系統運行任務 (有可見窗口的程序 )的管理 ,如查看當前任務 ,添加新任務 ,結束任務 ,切換任務等。 顯示任務信息 任務信息包括桌面窗口中可見程序的程序名、路徑、運行狀態(tài)等信息。在這里我們將在任務列表頁面中添加一個列表控件 ,用于將任務信息顯示出來 ,如圖 4。 圖 4 任務列表 要顯示桌面窗口中的任務信息 ,首先要一個結構體類型用于存放任務的相關信息 : typedef struct CString strTaskName。 //窗口標題 DWORD dwProcessID。 //進程 ID DWORD dwThreadID。 //線程 ID CString strRunState。 //運行狀態(tài) DWORD dwWndHandle。 //窗口句柄 TASK_IFNO,*PTASK_INFO。 獲取窗口標題 ,使用 API 標準函數 GetWindowText : char temp[_PATH]。 GetWindowTexthwnd,temp,sizeoftemp 獲取進程及線程 ID: TIDGetWindowThreadProcessIdhwnd,amp。PID。 確定運行狀態(tài) : ifSendMessageTimeouthwnd,WM_SYSCOMMAND,NULL,NULL,SMTO_ABORTIFHUNG,1000,NULL strRunState 正在運行 。 else strRunState 沒有響應 。 添加任務信息到數組 : TASK_IFNO ti。 temp。 PID。 TID。 DWORDhwnd。 strRunState。 。 在任務列表顯示每一行信息 : forint i0。inewCount。i++ TASK_IFNO ti。 ti 。 ,0 ! 。 ,i。 %d,。 ,1,str。 %d,。 ,2,str。 ,3,。 結束任務 結束任務操作將調用 SendMessageTimeout 函數向要關閉的窗口發(fā)送關閉消息 ,如果沒有響應則用 TerminateProcess 函數強行終止該窗口進程。 if!SendMessageTimeouthwnd,WM_SYSCOMMAND,SC_CLOSE,NULL,SMTO_BLOCK|SMTO_ABORTIFHUNG,1000,NULL HANDLE hProcess OpenProcess PROCESS_ALL_ACCESS, FALSE, 。//打開進程 TerminateProcesshProcess,1。//強制終止該窗口進程 CloseHandlehProcess。 切換任務 我們知道 ,Windows 9x/2020 中 SetForegroundWindow 函數當用戶正在操作其他
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1