⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loadvxd.cpp

📁 windows下汇编语言 学习汇编语言好助手
💻 CPP
字号:
// LoadVxD.cpp : Defines the entry point for the application.

/*************************\
 *文件:LoadVxD.cpp      *
 *功能:动态载入/卸载VxD *
\*************************/
#include "stdafx.h"
#include "resource.h"

BOOL CALLBACK MainDlgProc(HWND,UINT,UINT,LONG);

int APIENTRY WinMain(HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
	DialogBox(hInstance,"MainDialog",0,MainDlgProc);
	return 0;
}

BOOL CALLBACK MainDlgProc(HWND hMainDlg,UINT uMsg,
						  UINT wParam,LONG lParam)
{
	static HANDLE hVxD = 0;

	switch(uMsg)
	{
	case WM_CLOSE:		//关闭主窗口
		if ( hVxD )
			SendMessage(hMainDlg,WM_COMMAND,IDC_UNLOAD,0);
		EndDialog(hMainDlg,TRUE);
		break;
	case WM_COMMAND:
		switch (wParam)
		{
		case IDC_LOAD:
			if ( hVxD )		break;
			char file[1024];
			char buff[512];
			GetDlgItemText(hMainDlg,IDC_VXDPATH,buff,256);
			wsprintf(file,"\\\\.\\%s.vxd",buff);
			//载入VxD
			hVxD = CreateFile(file,0,0,0,0,
								FILE_FLAG_DELETE_ON_CLOSE,0);
			if ( hVxD == INVALID_HANDLE_VALUE )	//成功否?
			{
				MessageBox(hMainDlg,"Load VxD Error","error",MB_OK);
				ExitProcess(1);
			}
			EnableWindow(GetDlgItem(hMainDlg,IDC_LOAD),  FALSE);
			EnableWindow(GetDlgItem(hMainDlg,IDC_UNLOAD),TRUE );
			break;
		case IDC_UNLOAD:
			if ( !hVxD )	break;
			//卸载VxD
			CloseHandle(hVxD);
			hVxD = NULL;
			EnableWindow(GetDlgItem(hMainDlg,IDC_LOAD),  TRUE );
			EnableWindow(GetDlgItem(hMainDlg,IDC_UNLOAD),FALSE);
			break;
		}
		break;
	}
	return FALSE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -