3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
[VC(Visual C++) ]- 70_偵測CPU和記憶體使用率_並分別記錄到檔案中 本篇分享70_偵測CPU和記憶體使用率_並分別記錄到檔案中範例,有興趣的(C/P)同好,歡迎來http://yfdisk.com/file/jashliao/75532da8/索取,因為我不會上傳檔案分享哈哈 ^ ^。 主要程式碼 001    // CNetControlDlg.cpp : implementation file                002    //                003                    004    #include "stdafx.h"                005    #include "CNetControl.h"                006    #include "CNetControlDlg.h"                007                    008    #ifdef _DEBUG                009    #definenew DEBUG_NEW                010    #undef THIS_FILE                011    staticchar THIS_FILE[] = __FILE__;                012    #endif                013                    014    /////////////////////////////////////////////////////////////////////////////                015    // CAboutDlg dialog used for App About                016                    017    class CAboutDlg : public CDialog                 018    {                019    public:                020        CAboutDlg();            021                    022    // Dialog Data                023        //{{AFX_DATA(CAboutDlg)            024        enum { IDD = IDD_ABOUTBOX };             025        //}}AFX_DATA            026                    027        // ClassWizard generated virtual function overrides            028        //{{AFX_VIRTUAL(CAboutDlg)            029        protected:            030        virtualvoid DoDataExchange(CDataExchange* pDX);    // DDX/DDV support            031        //}}AFX_VIRTUAL            032                    033    // Implementation                034    protected:                035        //{{AFX_MSG(CAboutDlg)            036        //}}AFX_MSG            037        DECLARE_MESSAGE_MAP()            038    };                039                    040    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)                041    {                042        //{{AFX_DATA_INIT(CAboutDlg)            043        //}}AFX_DATA_INIT            044    }                045                    046    void CAboutDlg::DoDataExchange(CDataExchange* pDX)                047    {                048        CDialog::DoDataExchange(pDX);            049        //{{AFX_DATA_MAP(CAboutDlg)            050        //}}AFX_DATA_MAP            051    }                052                    053    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)                054        //{{AFX_MSG_MAP(CAboutDlg)            055            // No message handlers        056        //}}AFX_MSG_MAP            057    END_MESSAGE_MAP()                058                    059    /////////////////////////////////////////////////////////////////////////////                060    // CCNetControlDlg dialog                061                    062    CCNetControlDlg::CCNetControlDlg(CWnd* pParent /*=NULL*/)                063        : CDialog(CCNetControlDlg::IDD, pParent)            064    {                065        //{{AFX_DATA_INIT(CCNetControlDlg)            066        //}}AFX_DATA_INIT            067        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32            068        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);            069    }                 070                    071    void CCNetControlDlg::DoDataExchange(CDataExchange* pDX)                072    {                073        CDialog::DoDataExchange(pDX);            074        //{{AFX_DATA_MAP(CCNetControlDlg)            075        //}}AFX_DATA_MAP            076    }                077                    078    BEGIN_MESSAGE_MAP(CCNetControlDlg, CDialog)                079        //{{AFX_MSG_MAP(CCNetControlDlg)            080        ON_WM_SYSCOMMAND()            081        ON_WM_PAINT()            082        ON_WM_QUERYDRAGICON()            083        ON_WM_CREATE()            084        //}}AFX_MSG_MAP            085    END_MESSAGE_MAP()                086                    087    /////////////////////////////////////////////////////////////////////////////                088    // CCNetControlDlg message handlers                089                    090    BOOL CCNetControlDlg::OnInitDialog()                091    {                092        CDialog::OnInitDialog();            093                    094        // Add "About..." menu item to system menu.            095                    096        // IDM_ABOUTBOX must be in the system command range.            097        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);            098        ASSERT(IDM_ABOUTBOX < 0xF000);            099                    100        CMenu* pSysMenu = GetSystemMenu(FALSE);            101        if (pSysMenu != NULL)            102        {            103            CString strAboutMenu;        104            strAboutMenu.LoadString(IDS_ABOUTBOX);        105            if (!strAboutMenu.IsEmpty())        106            {        107                pSysMenu->AppendMenu(MF_SEPARATOR);    108                pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);    109            }        110        }            111                    112        // Set the icon for this dialog.  The framework does this automatically            113        //  when the application's main window is not a dialog            114        SetIcon(m_hIcon, TRUE);            // Set big icon 115        SetIcon(m_hIcon, FALSE);        // Set small icon    116                    117        m_MyCpuCtrl.SetRefreshInterval(1000);             118        m_MyMemCtrl.SetRefreshInterval(1000);            119        return TRUE;  // return TRUE  unless you set the focus to a control            120    }                121                    122    void CCNetControlDlg::OnSysCommand(UINT nID, LPARAM lParam)                123    {                124        if ((nID & 0xFFF0) == IDM_ABOUTBOX)            125        {            126            CAboutDlg dlgAbout;        127            dlgAbout.DoModal();        128        }            129        else            130        {            131            CDialog::OnSysCommand(nID, lParam);        132        }            133    }                134                    135    // If you add a minimize button to your dialog, you will need the code below                136    //  to draw the icon.  For MFC applications using the document/view model,                137    //  this is automatically done for you by the framework.                 138                    139    void CCNetControlDlg::OnPaint()                 140    {                141        if (IsIconic())            142        {            143            CPaintDC dc(this); // device context for painting        144                    145            SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);        146                    147            // Center icon in client rectangle        148            int cxIcon = GetSystemMetrics(SM_CXICON);        149            int cyIcon = GetSystemMetrics(SM_CYICON);        150            CRect rect;        151            GetClientRect(&rect);        152            int x = (rect.Width() - cxIcon + 1) / 2;        153            int y = (rect.Height() - cyIcon + 1) / 2;        154                    155            // Draw the icon        156            dc.DrawIcon(x, y, m_hIcon);        157        }            158        else            159        {            160            CDialog::OnPaint();        161        }            162    }                163                    164    // The system calls this to obtain the cursor to display while the user drags                165    //  the minimized window.                166    HCURSOR CCNetControlDlg::OnQueryDragIcon()                167    {                168        return (HCURSOR) m_hIcon;            169    }                170                    171    int CCNetControlDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)                  172    {                173        CRect rect;            174        if (CDialog::OnCreate(lpCreateStruct) == -1)            175            return -1;        176                    177        rect.left        = lpCreateStruct->x + 20;    178        rect.top        = lpCreateStruct->y + 25;    179        rect.bottom        = lpCreateStruct->y + (lpCreateStruct->cy / 52) * 52 - 25;         180        rect.right        = lpCreateStruct->x + lpCreateStruct->cx / 2 - 25;    181                     182                    183        if(!m_MyCpuCtrl.Create(WS_CHILD | WS_VISIBLE,                184                    185                    186         )            187        {            188            TRACE0("Create m_MyCtrl Failed!");         189            return 0;        190        }            191                    192        rect.left   = rect.right + 20;            193        rect.right += lpCreateStruct->cx / 2;            194                    195        if(!m_MyMemCtrl.Create(WS_CHILD | WS_VISIBLE,            196                    197                    198         )            199        {            200            TRACE0("Create m_MyCtrl Failed!");        201            return 0;        202        }            203        return 0;            204    }                   

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦