server-re/third-party/BugTrap-1.3-57bd515/source/MachineInfoDlg.cpp
2026-10-14 15:54:34 -04:00

146 lines
4 KiB
C++

/*
* This is a part of the BugTrap package.
* Copyright (c) 2005-2009 IntelleSoft.
* All rights reserved.
*
* Description: Machine Info dialog.
* Author: Maksim Pyatkovskiy.
*
* This source code is only intended as a supplement to the
* BugTrap package reference and related electronic documentation
* provided with the product. See these sources for detailed
* information regarding the BugTrap package.
*/
#include "StdAfx.h"
#include "resource.h"
#include "MachineInfoDlg.h"
#include "BugTrapUtils.h"
#include "BugTrapUI.h"
#include "Globals.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
/**
* @addtogroup BugTrapUI BugTrap Graphical User Interface
* @{
*/
/**
* @brief WM_COMMAND handler of Machine Info dialog.
* @param hwnd - window handle.
* @param id - control ID.
* @param hwndCtl - control handle.
* @param codeNotify - notification code.
*/
static void MachineInfoDlg_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
codeNotify; hwndCtl;
switch (id)
{
case IDOK:
case IDCANCEL:
EndDialog(hwnd, FALSE);
break;
}
}
/**
* @brief WM_INITDIALOG handler of Machine Info dialog.
* @param hwnd - window handle.
* @param hwndFocus - system-defined focus window.
* @param lParam - user-defined parameter.
* @return true to setup focus to system-defined control.
*/
static BOOL MachineInfoDlg_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
lParam; hwndFocus;
_ASSERTE(g_pResManager != NULL);
if (g_pResManager->m_hBigAppIcon)
SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)g_pResManager->m_hBigAppIcon);
if (g_pResManager->m_hSmallAppIcon)
SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)g_pResManager->m_hSmallAppIcon);
CenterWindow(hwnd, GetParent(hwnd));
HWND hwndCtl;
TCHAR szTempBuf[256];
CStrStream Stream(8 * 1024);
hwndCtl = GetDlgItem(hwnd, IDC_CPU_TEXT);
_ASSERTE(g_pResManager != NULL);
if (g_pResManager->m_hFixedFont)
SetWindowFont(hwndCtl, g_pResManager->m_hFixedFont, FALSE);
Stream.Reset();
CSymEngine::GetCpuString(Stream);
SetWindowText(hwndCtl, Stream);
hwndCtl = GetDlgItem(hwnd, IDC_OS_TEXT);
_ASSERTE(g_pResManager != NULL);
if (g_pResManager->m_hFixedFont)
SetWindowFont(hwndCtl, g_pResManager->m_hFixedFont, FALSE);
CSymEngine::GetOsString(szTempBuf, countof(szTempBuf));
SetWindowText(hwndCtl, szTempBuf);
hwndCtl = GetDlgItem(hwnd, IDC_MEM_TEXT);
_ASSERTE(g_pResManager != NULL);
if (g_pResManager->m_hFixedFont)
SetWindowFont(hwndCtl, g_pResManager->m_hFixedFont, FALSE);
CSymEngine::GetMemString(szTempBuf, countof(szTempBuf));
SetWindowText(hwndCtl, szTempBuf);
hwndCtl = GetDlgItem(hwnd, IDC_ENVIRONMENT);
_ASSERTE(g_pResManager != NULL);
if (g_pResManager->m_hFixedFont)
SetWindowFont(hwndCtl, g_pResManager->m_hFixedFont, FALSE);
Stream.Reset();
CSymEngine::GetEnvironmentStrings(Stream);
SetWindowText(hwndCtl, Stream);
return TRUE;
}
/**
* @brief WM_CTLCOLORXXX handler of Machine Info dialog.
* @param hwnd - window handle.
* @param hdc - device context.
* @param hwndChild - child window handle.
* @param type - message subtype.
* @return brush handle.
*/
static HBRUSH MachineInfoDlg_OnCtlColor(HWND hwnd, HDC hdc, HWND hwndChild, int type)
{
hwnd; hdc;
if (type == CTLCOLOR_STATIC)
{
int nChildID = GetDlgCtrlID(hwndChild);
if (nChildID == IDC_ENVIRONMENT)
{
_ASSERTE(g_pResManager != NULL);
SetBkColor(hdc, GetSysColor(COLOR_BTNHIGHLIGHT));
return g_pResManager->m_hbrControlLight;
}
}
return NULL;
}
/**
* @brief Dialog procedure of Machine Info dialog.
* @param hwndDlg - window handle.
* @param uMsg - message identifier.
* @param wParam - 1st message parameter.
* @param lParam - 2nd message parameter.
* @return message result.
*/
INT_PTR CALLBACK MachineInfoDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
HANDLE_MSG(hwndDlg, WM_INITDIALOG, MachineInfoDlg_OnInitDialog);
HANDLE_MSG(hwndDlg, WM_COMMAND, MachineInfoDlg_OnCommand);
HANDLE_MSG(hwndDlg, WM_CTLCOLORSTATIC, MachineInfoDlg_OnCtlColor);
default: return FALSE;
}
}
/** @} */