www.pudn.com > hidedrive.rar > test1View.cpp


// test1View.cpp : implementation of the Ctest1View class 
// 
 
#include "stdafx.h" 
#include "test1.h" 
 
#include "test1Doc.h" 
#include "test1View.h" 
#include  
#include "..\HideHkApi\HideHkApi_Header.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#endif 
 
// Ctest1View 
 
IMPLEMENT_DYNCREATE(Ctest1View, CView) 
 
BEGIN_MESSAGE_MAP(Ctest1View, CView) 
	// Standard printing commands 
	ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint) 
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview) 
	ON_COMMAND(ID_InitDriver, &Ctest1View::OnInitdriver) 
	ON_WM_CREATE() 
	ON_WM_SIZE() 
	ON_COMMAND(ID_UnDriver, &Ctest1View::OnUndriver) 
	ON_COMMAND(ID_ADDFILE, &Ctest1View::OnAddfile) 
	ON_COMMAND(ID_DelFile, &Ctest1View::OnDelfile) 
	ON_COMMAND(ID_DelFile2, &Ctest1View::OnDelfile2) 
	ON_COMMAND(ID_ADDFILE2, &Ctest1View::OnAddfile2) 
	ON_COMMAND(ID_DelFileAll, &Ctest1View::OnDelfileall) 
	ON_COMMAND(ID_AddProcess1, &Ctest1View::OnAddprocess1) 
	ON_COMMAND(ID_AddProcess2, &Ctest1View::OnAddprocess2) 
	ON_COMMAND(ID_DelProcess1, &Ctest1View::OnDelprocess1) 
	ON_COMMAND(ID_DelProcess2, &Ctest1View::OnDelprocess2) 
	ON_COMMAND(ID_DelProcessAll, &Ctest1View::OnDelprocessall) 
	ON_COMMAND(ID_ADDKEY1, &Ctest1View::OnAddkey1) 
	ON_COMMAND(ID_ADDKEY2, &Ctest1View::OnAddkey2) 
	ON_COMMAND(ID_DELKEY1, &Ctest1View::OnDelkey1) 
	ON_COMMAND(ID_DELKEY2, &Ctest1View::OnDelkey2) 
	ON_COMMAND(ID_DelAllKEY, &Ctest1View::OnDelallkey) 
	ON_COMMAND(ID_ADDVALUE1, &Ctest1View::OnAddvalue1) 
	ON_COMMAND(ID_ADDVALUE2, &Ctest1View::OnAddvalue2) 
	ON_COMMAND(ID_DELVALUE1, &Ctest1View::OnDelvalue1) 
	ON_COMMAND(ID_DELVALUE2, &Ctest1View::OnDelvalue2) 
	ON_COMMAND(ID_DELVALUEALL, &Ctest1View::OnDelvalueall) 
END_MESSAGE_MAP() 
 
// Ctest1View construction/destruction 
 
Ctest1View::Ctest1View() 
: m_strText(_T("")) 
{ 
	// TODO: add construction code here 
 
} 
 
Ctest1View::~Ctest1View() 
{ 
} 
 
BOOL Ctest1View::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
 
	return CView::PreCreateWindow(cs); 
} 
 
// Ctest1View drawing 
 
void Ctest1View::OnDraw(CDC* /*pDC*/) 
{ 
	Ctest1Doc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	if (!pDoc) 
		return; 
 
	// TODO: add draw code for native data here 
} 
 
 
// Ctest1View printing 
 
BOOL Ctest1View::OnPreparePrinting(CPrintInfo* pInfo) 
{ 
	// default preparation 
	return DoPreparePrinting(pInfo); 
} 
 
void Ctest1View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add extra initialization before printing 
} 
 
void Ctest1View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) 
{ 
	// TODO: add cleanup after printing 
} 
 
 
// Ctest1View diagnostics 
 
#ifdef _DEBUG 
void Ctest1View::AssertValid() const 
{ 
	CView::AssertValid(); 
} 
 
void Ctest1View::Dump(CDumpContext& dc) const 
{ 
	CView::Dump(dc); 
} 
 
Ctest1Doc* Ctest1View::GetDocument() const // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(Ctest1Doc))); 
	return (Ctest1Doc*)m_pDocument; 
} 
#endif //_DEBUG 
 
 
// Ctest1View message handlers 
 
int Ctest1View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{ 
	if (CView::OnCreate(lpCreateStruct) == -1) 
		return -1; 
 
	// TODO:  Add your specialized creation code here 
	CRect rect(0, 0, 0, 0); 
	m_rich.Create(ES_AUTOVSCROLL | ES_MULTILINE | ES_WANTRETURN | 
		          WS_CHILD | WS_VISIBLE | WS_VSCROLL, rect, this, 1); 
	return 0; 
} 
 
 
void Ctest1View::OnSize(UINT nType, int cx, int cy) 
{ 
	CView::OnSize(nType, cx, cy); 
 
	// TODO: Add your message handler code here 
	CRect rect; 
	GetClientRect(rect); 
	m_rich.SetWindowPos(&wndTop, 0, 0, rect.right - rect.left, 
		                rect.bottom - rect.top, SWP_SHOWWINDOW); 
} 
////////////////////////初始化与卸载部分////////////////////////////////// 
//初始化驱动 
void Ctest1View::OnInitdriver() 
{ 
	m_strText.Empty(); 
	Test_Initial(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
 
int Ctest1View::Test_Initial(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始初始化驱动:\n"; 
	ret = HkApi_Initial(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "初始化驱动成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "初始化驱动失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
void Ctest1View::OnUndriver() 
{	 
	m_strText.Empty(); 
	Test_Unload(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_Unload(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始卸载驱动:\n"; 
	ret = HkApi_Uninitial(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "卸载驱动成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "卸载驱动失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
////////////////////////文件部分////////////////////////////////// 
void Ctest1View::OnAddfile() 
{ 
	m_strText.Empty(); 
	Test_AddFile(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_AddFile(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	FILEHIDERULE FileRule; 
    strcpy(FileRule.rule,"CYBER"); 
	FileRule._next = NULL; 
	ret = HkApi_AddFileRule(FileRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
void Ctest1View::OnDelfile() 
{ 
	m_strText.Empty(); 
	Test_DelFile(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
	// TODO: Add your command handler code here 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_DelFile(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	FILEHIDERULE FileRule; 
    strcpy(FileRule.rule,"CYBER"); 
	FileRule._next = NULL; 
	ret = HkApi_DelFileRule(FileRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
 
	return 0; 
} 
 
void Ctest1View::OnDelfile2() 
{ 
	m_strText.Empty(); 
	Test_DelFile2(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_DelFile2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	FILEHIDERULE FileRule; 
    strcpy(FileRule.rule,"FILE"); 
	FileRule._next = NULL; 
	ret = HkApi_DelFileRule(FileRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	return 0; 
} 
 
 
 
void Ctest1View::OnAddfile2() 
{ 
	m_strText.Empty(); 
	Test_AddFile2(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_AddFile2(void) 
{	 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	FILEHIDERULE FileRule; 
    strcpy(FileRule.rule,"FILE"); 
	FileRule._next = NULL; 
	ret = HkApi_AddFileRule(FileRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
void Ctest1View::OnDelfileall() 
{ 
	m_strText.Empty(); 
	Test_DelFileAll(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelFileAll(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除全部策略:\n"; 
	ret = HkApi_ClearAllFileRule(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "删除全部策略成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "删除全部策略失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
////////////////////////进程部分////////////////////////////////// 
void Ctest1View::OnAddprocess1() 
{ 
	m_strText.Empty(); 
	Test_AddProcess1(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_AddProcess1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	PROCESSHIDERULE ProcessRule; 
    strcpy(ProcessRule.rule,"CLIENTDEMO"); 
	ProcessRule._next = NULL; 
	ret = HkApi_AddProcessRule(ProcessRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
 
void Ctest1View::OnAddprocess2() 
{ 
	m_strText.Empty(); 
	Test_AddProcess2(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_AddProcess2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	PROCESSHIDERULE ProcessRule; 
    strcpy(ProcessRule.rule,"PROTECT"); 
	ProcessRule._next = NULL; 
	ret = HkApi_AddProcessRule(ProcessRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
 
void Ctest1View::OnDelprocess1() 
{ 
	m_strText.Empty(); 
	Test_DelProcess1(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_DelProcess1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	PROCESSHIDERULE ProcessRule; 
    strcpy(ProcessRule.rule,"CLIENTDEMO"); 
	ProcessRule._next = NULL; 
	ret = HkApi_DelProcessRule(ProcessRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	return 0; 
} 
 
void Ctest1View::OnDelprocess2() 
{ 
	m_strText.Empty(); 
	Test_DelProcess2(); 
	m_rich.SetWindowText(m_strText); 
	// TODO: Add your command handler code here 
} 
 
int Ctest1View::Test_DelProcess2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	PROCESSHIDERULE ProcessRule; 
    strcpy(ProcessRule.rule,"PROTECT"); 
	ProcessRule._next = NULL; 
	ret = HkApi_DelProcessRule(ProcessRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	return 0; 
} 
 
 
void Ctest1View::OnDelprocessall() 
{ 
	m_strText.Empty(); 
	Test_DelProcessAll(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelProcessAll(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除全部策略:\n"; 
	ret = HkApi_ClearAllProcessRule(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "删除全部策略成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "删除全部策略失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
////////////////////////注册表项部分////////////////////////////////// 
void Ctest1View::OnAddkey1() 
{ 
	m_strText.Empty(); 
	Test_AddKey1(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_AddKey1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	KEYHIDERULE KeyRule; 
    strcpy(KeyRule.rule,"HidServ"); 
	KeyRule._next = NULL; 
	ret = HkApi_AddKeyRule(KeyRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
 
void Ctest1View::OnAddkey2() 
{ 
	m_strText.Empty(); 
	Test_AddKey2(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_AddKey2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	KEYHIDERULE KeyRule; 
    strcpy(KeyRule.rule,"Cyber02Hide"); 
	KeyRule._next = NULL; 
	ret = HkApi_AddKeyRule(KeyRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
 
void Ctest1View::OnDelkey1() 
{ 
	m_strText.Empty(); 
	Test_DelKey1(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelKey1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	KEYHIDERULE KeyRule; 
    strcpy(KeyRule.rule,"HidServ"); 
	KeyRule._next = NULL; 
	ret = HkApi_DelKeyRule(KeyRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
void Ctest1View::OnDelkey2() 
{ 
	m_strText.Empty(); 
	Test_DelKey2(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelKey2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	KEYHIDERULE KeyRule; 
    strcpy(KeyRule.rule,"Cyber02Hide"); 
	KeyRule._next = NULL; 
	ret = HkApi_DelKeyRule(KeyRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
void Ctest1View::OnDelallkey() 
{ 
	// TODO: Add your command handler code here 
	m_strText.Empty(); 
	Test_DeKeyAll(); 
	m_rich.SetWindowText(m_strText); 
} 
 
 
int Ctest1View::Test_DeKeyAll(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除全部策略:\n"; 
	ret = HkApi_ClearAllKeyRule(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "删除全部策略成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "删除全部策略失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
////////////////////////注册表键值部分////////////////////////////////// 
void Ctest1View::OnAddvalue1() 
{ 
	m_strText.Empty(); 
	Test_AddValue1(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_AddValue1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	VALUEHIDERULE ValueRule; 
    strcpy(ValueRule.rule,"DisplayName"); 
	ValueRule._next = NULL; 
	ret = HkApi_AddValueRule(ValueRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	return 0; 
} 
 
 
void Ctest1View::OnAddvalue2() 
{ 
	m_strText.Empty(); 
	Test_AddValue2(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_AddValue2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始添加策略:\n"; 
	VALUEHIDERULE ValueRule; 
    strcpy(ValueRule.rule,"ImagePath"); 
	ValueRule._next = NULL; 
	ret = HkApi_AddValueRule(ValueRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略添加成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略添加失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	return 0; 
} 
 
 
void Ctest1View::OnDelvalue1() 
{ 
	m_strText.Empty(); 
	Test_DelValue1(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelValue1(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	VALUEHIDERULE ValueRule; 
    strcpy(ValueRule.rule,"DisplayName"); 
	ValueRule._next = NULL; 
	ret = HkApi_DelValueRule(ValueRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
 
void Ctest1View::OnDelvalue2() 
{ 
	m_strText.Empty(); 
	Test_DelValue2(); 
	m_rich.SetWindowText(m_strText); 
} 
 
int Ctest1View::Test_DelValue2(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除策略:\n"; 
	VALUEHIDERULE ValueRule; 
    strcpy(ValueRule.rule,"ImagePath"); 
	ValueRule._next = NULL; 
	ret = HkApi_DelValueRule(ValueRule); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "策略删除成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "策略删除失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
} 
 
void Ctest1View::OnDelvalueall() 
{ 
	m_strText.Empty(); 
	Test_DelValueAll(); 
	m_rich.SetWindowText(m_strText); 
} 
 
 
int Ctest1View::Test_DelValueAll(void) 
{ 
	int ret; 
	CString tmp_strText1; 
	m_strText="开始删除全部策略:\n"; 
	ret = HkApi_ClearAllValueRule(); 
	if( ret == 0) 
	{ 
		tmp_strText1 = "删除全部策略成功\n\n"; 
		m_strText+=tmp_strText1; 
	} 
	else 
	{ 
		tmp_strText1 = "删除全部策略失败\n\n"; 
		m_strText+=tmp_strText1; 
	} 
 
	return 0; 
}