📄 systeminfoview.cpp
字号:
// SystemInfoView.cpp : 实现文件
//
#include "stdafx.h"
#include "ULExplorer.h"
#include "SystemInfoView.h"
/*
IMPLEMENT_DYNCREATE(CPropertyGridItemEx, CXTPPropertyGridItem)
BEGIN_MESSAGE_MAP(CPropertyGridItemEx, CXTPPropertyGridItem)
END_MESSAGE_MAP()
*/
// CSystemInfoView
IMPLEMENT_DYNCREATE(CSystemInfoView, CView)
CSystemInfoView::CSystemInfoView()
{
}
CSystemInfoView::~CSystemInfoView()
{
}
BEGIN_MESSAGE_MAP(CSystemInfoView, CView)
ON_WM_CREATE()
ON_WM_SIZE()
END_MESSAGE_MAP()
// CSystemInfoView 绘图
void CSystemInfoView::OnDraw(CDC* pDC)
{
}
// CSystemInfoView 诊断
#ifdef _DEBUG
void CSystemInfoView::AssertValid() const
{
CView::AssertValid();
}
void CSystemInfoView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
// CSystemInfoView 消息处理程序
int CSystemInfoView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
CRect rcGrid;
GetClientRect(&rcGrid);
if ( m_PropertyGrid.Create( CXTPEmptyRect(), this, IDC_PROPERTY_GRID ) )
{
//////////////////////////////////////////////////////////////////////////
CXTPPropertyGridItem* pCategory = m_PropertyGrid.AddCategory(_T("超级块结构 super"));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_ninodes"), _T("虚拟磁盘i节点总数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_nzones"), _T("虚拟磁盘逻辑块总数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_imap_blocks"), _T("i节点位图所占用的数据块数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_zmap_blocks"), _T("逻辑块位图所占用的数据块数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_firstdatazone"), _T("第一个数据逻辑块号")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_log_zone_size"), _T("Log(数据块数/逻辑块)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_max_size"), _T("文件最大长度")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_magic"), _T("文件系统标识数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_log_zone_size"), _T("Log(数据块数/逻辑块)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_imap[]"), _T("i节点位图缓冲块指针数组")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_zmap[]"), _T("逻辑块位图缓冲块指针数组")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_dev"), _T("超级块所在的设备号")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_isup"), _T("被安装的文件系统根目录的i节点")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_imount"), _T("被安装到的i节点")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_time"), _T("修改时间")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_lock"), _T("锁定标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_rd_only"), _T("只读标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("s_dirt"), _T("已修改标志")));
pCategory->Expand();
//////////////////////////////////////////////////////////////////////////
pCategory = m_PropertyGrid.AddCategory(_T("i节点结构 inode"));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_mode"), _T("文件类型和属性(rwx 位)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_uid"), _T("用户id(文件拥有者标识符)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_size"), _T("文件大小(字节数)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_mtime"), _T("修改时间(自1970.1.1:0 算起,秒)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_gid"), _T("组id(文件拥有者所在的组)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_nlinks"), _T("文件目录项链接数")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_zone[9]"), _T("直接(0-6),间接(7)或双重间接(8)逻辑块号")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_atime"), _T("最后访问时间")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_ctime"), _T("i节点自身修改时间")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_dev"), _T("i节点所在的设备号")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_num"), _T("i节点号")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_count"), _T("i节点被使用的次数,0 表示该i节点空闲")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_lock"), _T("锁定标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_dirt"), _T("已修改(脏)标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_pipe"), _T("管道标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_mount"), _T("安装标志")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_seek"), _T("搜寻标志(lseek 时)")));
pCategory->AddChildItem(new CPropertyGridItemEx(_T("i_update"), _T("更新标志")));
pCategory->Expand();
}
return 0;
}
void CSystemInfoView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
if(m_PropertyGrid.GetSafeHwnd())
{
m_PropertyGrid.MoveWindow(0, 0, cx, cy);
m_PropertyGrid.Invalidate(FALSE);
}
}
void CSystemInfoView::ShowSystemInfo()
{
// d_super_block
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -