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

📄 unit1.~cpp

📁 用C++ Builder调用VxD的程序
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
HANDLE hDevice;
#define FILE_DEVICE_UNKNOWN             0x00000022
#define METHOD_NEITHER                  3
#define FILE_ANY_ACCESS                 0

#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)

#define W32IF_PASS_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS)

bool CtrlAltDelFlag=false,
WinFlag=false,AltF4Flag=false,AltEscFlag=false,AltTabFlag=false;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
CloseHandle(hDevice);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 int inbuf[5];
 CtrlAltDelFlag=(CtrlAltDel->State==cbChecked)? true : false;
 WinFlag=(Win->State==cbChecked)? true : false;
 AltF4Flag=(AltF4->State==cbChecked)? true : false;
 AltEscFlag=(AltEsc->State==cbChecked)? true : false;
 AltTabFalg(AltTab->State==cbChecked)? true : false;

 inbuf[0]=CtrlAltDelFlag;
 inbuf[1]=WinFlag;
 inbuf[2]=AltF4Flag;
 inbuf[3]=AltEscFlag;
 inbuf[4]=AltTabFlag;

//Edit1->Text=CtrlAltDelFlag;
Edit1->Text=inbuf[0];

// hDevice = CreateFile("\\\\.\\hotkey.vxd", 0,0,0,
  //  CREATE_NEW	, FILE_FLAG_DELETE_ON_CLOSE, 0);
 if (hDevice == INVALID_HANDLE_VALUE)
	{
         Edit1->Text=GetLastError();
	}
 else
  {
  DeviceIoControl(hDevice, W32IF_PASS_EVENT, inbuf, 5*sizeof(inbuf), NULL, 0, NULL, NULL);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 hDevice = CreateFile("\\\\.\\hotkey.vxd", 0,0,0,
              CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0);

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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