2025-11-27 16:46:48 +09:00

122 lines
3.0 KiB
C++

#if !defined(AFX_APPLICATIONSDIALOG_H__0786AFA1_58C3_11D2_B475_00E0291A4FD3__INCLUDED_)
#define AFX_APPLICATIONSDIALOG_H__0786AFA1_58C3_11D2_B475_00E0291A4FD3__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ApplicationsDialog.h : header file
//
#include "afxtempl.h"
#include "PageDialog.h"
#include "OXTreeCtrl.h"
#include "OXLayoutManager.h"
#include "OXSysInfo.h"
#include "OXProcess.h"
/////////////////////////////////////////////////////////////////////////////
// CApplicationsDialog dialog
typedef struct _tagAPPLICATIONINFO
{
DWORD dwProcessID;
HWND hMainWnd;
BOOL bGotRespond;
// constructor
_tagAPPLICATIONINFO()
{
dwProcessID=0xffffffff;
hMainWnd=NULL;
bGotRespond=TRUE;
}
// copy constructor
_tagAPPLICATIONINFO& operator=(const _tagAPPLICATIONINFO& appInfo)
{
dwProcessID=appInfo.dwProcessID;
hMainWnd=appInfo.hMainWnd;
bGotRespond=appInfo.bGotRespond;
return *this;
}
} APPLICATIONINFO;
typedef CArray<APPLICATIONINFO,APPLICATIONINFO&> CAppInfoArray;
class CApplicationsDialog : public CPageDialog
{
// Construction
public:
CApplicationsDialog(); // standard constructor
// Dialog Data
//{{AFX_DATA(CApplicationsDialog)
enum { IDD = IDD_APPLICATIONS_DIALOG };
CSpinButtonCtrl m_spinExpandLevel;
CEdit m_editExpandLevel;
COXTreeCtrl m_tree;
UINT m_nExpandLevel;
int m_nExpandType;
//}}AFX_DATA
protected:
void PopulateTree();
void ExpandTree(int nExpandLevel=-1, HTREEITEM htiParent=NULL);
HTREEITEM InsertItem(CString sItem, HTREEITEM htiParent=NULL, int nImage=-1,
CFont* pFont=NULL, COLORREF clr=CLR_NONE);
public:
virtual ~CApplicationsDialog() {
CleanThreads();
}
virtual BOOL IsRefreshAvailable() { return TRUE; }
virtual void Refresh();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CApplicationsDialog)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
CImageList m_ilTree;
COXLayoutManager m_LayoutManager;
COXSysInfo m_SysInfo;
CAppInfoArray m_arrAppInfo;
CArray<HANDLE,HANDLE> m_arrThreads;
int m_nCurrentIndex;
COXProcess m_process;
protected:
virtual void OnInitDialog();
void ShowControls();
void CleanThreads();
static BOOL CALLBACK EnumMainWindows(HWND hWnd, LPARAM lParam);
// Generated message map functions
//{{AFX_MSG(CApplicationsDialog)
afx_msg void OnRadioExpandall();
afx_msg void OnRadioExpandlevel();
afx_msg void OnDblclkTreeServices(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRclickTreeApplications(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
afx_msg void OnAppWndSwitchTo();
afx_msg void OnAppWndBringToFront();
afx_msg void OnAppWndMinimize();
afx_msg void OnAppWndMaximize();
afx_msg void OnAppWndRestore();
afx_msg void OnAppWndClose();
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPLICATIONSDIALOG_H__0786AFA1_58C3_11D2_B475_00E0291A4FD3__INCLUDED_)