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 <Winsock2.h>
#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, &amt;CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &amt;CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &amt;CView::OnFilePrintPreview)
ON_COMMAND(ID_InitDriver, &amt;Ctest1View::OnInitdriver)
ON_WM_CREATE()
ON_WM_SIZE()
ON_COMMAND(ID_UnDriver, &amt;Ctest1View::OnUndriver)
ON_COMMAND(ID_ADDFILE, &amt;Ctest1View::OnAddfile)
ON_COMMAND(ID_DelFile, &amt;Ctest1View::OnDelfile)
ON_COMMAND(ID_DelFile2, &amt;Ctest1View::OnDelfile2)
ON_COMMAND(ID_ADDFILE2, &amt;Ctest1View::OnAddfile2)
ON_COMMAND(ID_DelFileAll, &amt;Ctest1View::OnDelfileall)
ON_COMMAND(ID_AddProcess1, &amt;Ctest1View::OnAddprocess1)
ON_COMMAND(ID_AddProcess2, &amt;Ctest1View::OnAddprocess2)
ON_COMMAND(ID_DelProcess1, &amt;Ctest1View::OnDelprocess1)
ON_COMMAND(ID_DelProcess2, &amt;Ctest1View::OnDelprocess2)
ON_COMMAND(ID_DelProcessAll, &amt;Ctest1View::OnDelprocessall)
ON_COMMAND(ID_ADDKEY1, &amt;Ctest1View::OnAddkey1)
ON_COMMAND(ID_ADDKEY2, &amt;Ctest1View::OnAddkey2)
ON_COMMAND(ID_DELKEY1, &amt;Ctest1View::OnDelkey1)
ON_COMMAND(ID_DELKEY2, &amt;Ctest1View::OnDelkey2)
ON_COMMAND(ID_DelAllKEY, &amt;Ctest1View::OnDelallkey)
ON_COMMAND(ID_ADDVALUE1, &amt;Ctest1View::OnAddvalue1)
ON_COMMAND(ID_ADDVALUE2, &amt;Ctest1View::OnAddvalue2)
ON_COMMAND(ID_DELVALUE1, &amt;Ctest1View::OnDelvalue1)
ON_COMMAND(ID_DELVALUE2, &amt;Ctest1View::OnDelvalue2)
ON_COMMAND(ID_DELVALUEALL, &amt;Ctest1View::OnDelvalueall)
END_MESSAGE_MAP()

// Ctest1View construction/destruction

Ctest1View::Ctest1View()
: m_strText(_T(""))
{
// TODO: add construction code here

}

Ctest1View::~Ctest1View()
{
}

BOOL Ctest1View::PreCreateWindow(CREATESTRUCT&amt; 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&amt; 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(&amt;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;
}