c语言做的一个任务管理器
资源文件列表(大概)
c语言做的一个任务管理器/c语言做的一个任务管理器/
-
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/
-
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/asm.cpp
3.51KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/define.h
7.83KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/
-
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/Option.cpp
4.26KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/Option.h
5.1KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/TaskIcon.cpp
7.64KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/TaskIcon.h
558B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/main/TaskNot.h
981B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Page.cpp
84B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Page.h
2.71KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/PerfPage.cpp
53.01KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/PerfPage.h
3.27KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/ProcInfo.cpp
34.04KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/ProcPage.cpp
97.94KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/ProcPage.h
12.14KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/ptrarray.cpp
5.51KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/ptrarray.h
3.93KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Release/
-
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Release/taskmgr.exe
132KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/
-
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/bitmap1.bmp
1.58KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/bitmap2.bmp
246B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/bmp00001.bmp
246B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/bmpback.bmp
214B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/bmpforwa.bmp
226B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/default.ico
1.05KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/ledlit.bmp
1.58KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/ledunlit.bmp
1.58KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/main.ico
1.05KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/numbers.bmp
646B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray0.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray1.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray10.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray11.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray2.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray3.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray4.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray5.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray6.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray7.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray8.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/Res/tray9.ico
318B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/resource.h
14.9KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/struct.h
7.42KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.aps
172.22KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.cpp
72.78KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.h
6.93KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.rc
39.44KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.sln
903B
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.suo
9.5KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/taskmgr.vcproj
5.96KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/TaskPage.cpp
64.24KB
c语言做的一个任务管理器/c语言做的一个任务管理器/c语言做的一个任务管理器/TaskPage.h
6.1KB
资源内容介绍
c语言做的一个任务管理器 #include "taskmgr.h"#include ".\procpage.h"//-------------------------------------------------------------函数声明--------------------------------------------BOOL InsertIntoSortedArray(CPtrArray * pArray, CProcInfo * pProc);BOOL ResortArray(CPtrArray ** ppArray);//-------------------------------------------------------------变量声明--------------------------------------------SYSTEM_BASIC_INFORMATION g_BasicInfo;DWORD g_cProcesses = 0;//// Table of which resource IDs in the column selection dialog// correspond to which columns//int g_aDlgColIDs[] ={ IDC_IMAGENAME, IDC_PID,// #ifdef _HYDRA_ IDC_USERNAME, IDC_SESSIONID,// #endif IDC_CPU, IDC_CPUTIME, IDC_MEMUSAGE, IDC_MEMPEAK, IDC_MEMUSAGEDIFF, IDC_PAGEFAULTS, IDC_PAGEFAULTSDIFF, IDC_COMMITCHARGE, IDC_PAGEDPOOL, IDC_NONPAGEDPOOL, IDC_BASEPRIORITY, IDC_HANDLECOUNT, IDC_THREADCOUNT, IDC_USEROBJECTS, IDC_GDIOBJECTS, IDC_READOPERCOUNT, IDC_WRITEOPERCOUNT, IDC_OTHEROPERCOUNT, IDC_READXFERCOUNT, IDC_WRITEXFERCOUNT, IDC_OTHERXFERCOUNT};//// Column Default Info//struct{ INT Format; INT Width;} ColumnDefaults[NUM_COLUMN] ={ { LVCFMT_LEFT, 0x6B }, // COL_IMAGENAME { LVCFMT_RIGHT, 50 }, // COL_PID//#ifdef _HYDRA_ { LVCFMT_LEFT, 0x6B }, // COL_USERNAME { LVCFMT_RIGHT, 70 }, // COL_SESSIONID//#endif { LVCFMT_RIGHT, 35}, // COL_CPU { LVCFMT_RIGHT, 70 }, // COL_CPUTIME { LVCFMT_RIGHT, 70 }, // COL_MEMUSAGE { LVCFMT_RIGHT, 100 }, // COL_MEMPEAK { LVCFMT_RIGHT, 70 }, // COL_MEMUSAGEDIFF { LVCFMT_RIGHT, 70 }, // COL_PAGEFAULTS { LVCFMT_RIGHT, 70 }, // COL_PAGEFAULTSDIFF { LVCFMT_RIGHT, 70 }, // COL_COMMITCHARGE { LVCFMT_RIGHT, 70 }, // COL_PAGEDPOOL { LVCFMT_RIGHT, 70 }, // COL_NONPAGEDPOOL { LVCFMT_RIGHT, 60 }, // COL_BASEPRIORITY { LVCFMT_RIGHT, 60 }, // COL_HANDLECOUNT { LVCFMT_RIGHT, 60 }, // COL_THREADCOUNT { LVCFMT_RIGHT, 60 }, // COL_USEROBJECTS { LVCFMT_RIGHT, 60 }, // COL_GDIOBJECTS { LVCFMT_RIGHT, 70 }, // COL_READOPERCOUNT { LVCFMT_RIGHT, 70 }, // COL_WRITEOPERCOUNT { LVCFMT_RIGHT, 70 }, // COL_OTHEROPERCOUNT { LVCFMT_RIGHT, 70 }, // COL_READXFERCOUNT { LVCFMT_RIGHT, 70 }, // COL_WRITEXFERCOUNT { LVCFMT_RIGHT, 70 } // COL_OTHERXFERCOUNT};static const _aIDColNames[NUM_COLUMN] ={ IDS_COL_IMAGENAME, IDS_COL_PID,// #ifdef _HYDRA_ IDS_COL_USERNAME, IDS_COL_SESSIONID,// #endif IDS_COL_CPU, IDS_COL_CPUTIME, IDS_COL_MEMUSAGE, IDS_COL_MEMPEAK, IDS_COL_MEMUSAGEDIFF, IDS_COL_PAGEFAULTS, IDS_COL_PAGEFAULTSDIFF, IDS_COL_COMMITCHARGE, IDS_COL_PAGEDPOOL, IDS_COL_NONPAGEDPOOL, IDS_COL_BASEPRIORITY, IDS_COL_HANDLECOUNT, IDS_COL_THREADCOUNT, IDS_COL_USEROBJECTS, IDS_COL_GDIOBJECTS, IDS_COL_READOPERCOUNT, IDS_COL_WRITEOPERCOUNT, IDS_COL_OTHEROPERCOUNT, IDS_COL_READXFERCOUNT, IDS_COL_WRITEXFERCOUNT, IDS_COL_OTHERXFERCOUNT};static struct{ size_t cbOffset; UINT idString;}g_OffsetMap[] ={ { FIELD_OFFSET(CSysInfo, m_cHandles), IDC_TOTAL_HANDLES }, { FIELD_OFFSET(CSysInfo, m_cThreads), IDC_TOTAL_THREADS }, { FIELD_OFFSET(CSysInfo, m_cProcesses), IDC_TOTAL_PROCESSES }, { FIELD_OFFSET(CSysInfo, m_dwPhysicalMemory), IDC_TOTAL_PHYSICAL }, { FIELD_OFFSET(CSysInfo, m_dwPhysAvail), IDC_AVAIL_PHYSICAL }, { FIELD_OFFSET(CSysInfo, m_dwFileCache), IDC_FILE_CACHE }, { FIELD_OFFSET(CSysInfo, m_dwCommitTotal), IDC_COMMIT_TOTAL }, { FIELD_OFFSET(CSysInfo, m_dwCommitLimit), IDC_COMMIT_LIMIT }, { FIELD_OFFSET(CSysInfo, m_dwCommitPeak), IDC_COMMIT_PEAK }, { FIELD_OFFSET(CSysInfo, m_dwKernelPaged), IDC_KERNEL_PAGED }, { FIELD_OFFSET(CSysInfo, m_dwKernelNP), IDC_KERNEL_NONPAGED }, { FIELD_OFFSET(CSysInfo, m_dwKernelTotal), IDC_KERNEL_TOTAL },};//---------------------------------------------------------------------------------------------------------CProcPage::CProcPage(void){ m_hPage = NULL; m_hwndTabs = NULL; m_pProcArray = NULL; m_pvBuffer = NULL; m_cbBuffer = 0; m_fPaused = FALSE; m_pszDebugger = NULL;OnSettingsChange();}CProcPage::~CProcPage(void){ if (m_pProcArray) { INT c = m_pProcArray->GetSize(); while (c) { delete (CProcInfo *) (m_pProcArray->GetAt(c - 1)); c--; } delete m_pProcArray; }}//-----------------------------------------------------------全局函数-----------------------------------------------// REVIEW (davepl) Use binary insert here, not linearBOOL InsertIntoSortedArray(CPtrArray * pArray, CProcInfo * pProc){ INT cItems = pArray->GetSize(); for (INT iIndex = 0; iIndex < cItems; iIndex++) { CProcInfo * pTmp = (CProcInfo *) pArray->GetAt(iIndex); if (pProc->Compare(pTmp) < 0) { return pArray->InsertAt(iIndex, pProc); } } return pArray->Add(pProc);}BOOL IsTerminalServer(){ static BOOL s_bIsTerminalServer = ValidateProductSuite( ); // if the exports are not available it's just the same that terminal server // is not properly configured and terminal services options should not be available return( s_bIsTerminalServer && gpfnWinStationGetProcessSid != NULL && gpfnCachedGetUserFromSid != NULL );}BOOL ValidateProductSuite( ){ OSVERSIONINFOEXW osVersionInfo; DWORDLONG dwlConditionMask = 0; ZeroMemory( &osVersionInfo , sizeof( OSVERSIONINFOEX ) ); osVersionInfo.dwOSVersionInfoSize = sizeof( OSVERSIONINFOEX ); osVersionInfo.wSuiteMask = VER_SUITE_TERMINAL; VER_SET_CONDITION( dwlConditionMask, VER_SUITENAME, VER_AND ); return VerifyVersionInfo( &osVersionInfo , VER_SUITENAME , dwlConditionMask );}//// Take two unsigned 64-bit values an