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

📄 unit3.cpp

📁 武安河书第一版(vxd)Windows 驱动例子
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Apcx.h"
#include <winioctl.h>
#include "Unit1.h"
#include "Unit3.h"
#pragma package(smart_init)
extern int i;
extern TSimpleEvent* TSEvent;
//---------------------------------------------------------------------------

//   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall Unit3:UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }
//---------------------------------------------------------------------------

DWORD WINAPI CallBackAPC(PVOID param)
{
	i=*(int *)param;
        TSEvent->SetEvent();
        return 0;
}

__fastcall thread3::thread3(bool CreateSuspended)
        : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall thread3::Execute()
{ HANDLE hDevice;
        hDevice = CreateFile("\\\\.\\MOUSE.VXD", 0,0,0,
                        CREATE_ALWAYS, FILE_FLAG_DELETE_ON_CLOSE, 0);
	if (hDevice == INVALID_HANDLE_VALUE) {
		Application->MessageBox("VxD加载失败","错误",MB_OK);
		exit(EXIT_FAILURE);
	}
	if (!DeviceIoControl(hDevice, ADDRESSPASS, CallBackAPC, 0, 0, 0, 0, 0)) {
		Application->MessageBox("VxD调用失败","错误",MB_OK);
		exit(EXIT_FAILURE);
	}
	while(TRUE)	SleepEx(INFINITE , TRUE);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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