程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 用VC6編寫注冊表管理程序

用VC6編寫注冊表管理程序

編輯:vc教程

  在市面上,有很多注冊表管理方面的程序,如:魔法兔子,IE保護器等。但它們對注冊表都進行固定的操作,對與Windows的高級管理員來說是遠遠不夠的,還經常用到Regedit,那它是如何設計的呢?經過分析它的主要分成以下幾塊①、注冊表數據的顯示與操作;②、注冊表數據的導入與導出;③注冊表數據的查找與替換。以下介紹在VC6中對注冊表數據的顯示與操作的實現。對於後二點今後將進行闡述。

  程序運行界面如下:
  
  在VC6中創建一單文檔工程,可命名為RegExplorer,前5步可以按默認方式進行,在AppWizard對話框的Step6中,選取視圖類的基類為ClistVIEw。
  
  為支持樹與列表的表現形式,必須還要手工加入CregLeftView類,基類為CtreeVIEw。並對各類對象的通信與顯示進行必要的設置。
  
  對CregExplorerApp類的InitInstance()進行一些修改
  
  pDocTemplate=newCSingleDocTemplate(
  
  IDR_MAINFRAME,
  
  RUNTIME_CLASS(CRegExplorerDoc),
  
  RUNTIME_CLASS(CMainFrame),
  
  RUNTIME_CLASS(CRegLeftView));//本為CRegExplorerVIEw
    在CmainFrame類中加入protected型的成員變量CSplitterWndm_wndSplitter用於實現窗口的分割,在MainFrm.cpp中加入#include"RegLeftVIEw.h"
  
  BOOLCMainFrame::OnCreateClIEnt(LPCREATESTRUCTlpcs,CCreateContext*pContext)
  
  {
  
  if(!m_wndSplitter.CreateStatic(this,1,2))
  
  returnFALSE;
  
  if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CRegLeftVIEw),CSize(100,100),pContext)||
  
  !m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CRegExplorerVIEw),CSize(100,100),pContext))
  
  {
  
  m_wndSplitter.DestroyWindow();
  
  returnFALSE;
  
  }
  
  m_wndSplitter.SetColumnInfo(0,200,100);
  
  returnTRUE;
  
  }
  
  對文檔類CregExplorerDoc的類定義前可加入classCRegExplorerView;並加入public型的CregExplorerView指針*m_RegExplorerVIEw;用文檔類進行對象之間的通信。
  
  左邊樹型CregLeftVIEw類的設計:
  
  1.和文檔類進行通信的代碼:
  
  在類定義前加入classCRegExplorerDoc;並在類中實現public型的成員函數
  
  CRegExplorerDoc*CRegLeftVIEw::GetDocument()
  
  {
  
  ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRegExplorerDoc)));
  
  return(CRegExplorerDoc*)m_pDocument;
  
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved