📄 unit3.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 + -