?? main.cpp
字號:
#include <windows.h>
#include <stdio.h>
//使用CTL_CODE必須加入winioctl.h
#include <winioctl.h>
#include "..\NT_Driver\Ioctls.h"
int main()
{
HANDLE hDevice =
CreateFile("\\\\.\\HelloDDK",
GENERIC_READ | GENERIC_WRITE,
0, // share mode none
NULL, // no security
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL ); // no template
if (hDevice == INVALID_HANDLE_VALUE)
{
printf("Failed to obtain file handle to device: "
"%s with Win32 error code: %d\n",
"MyWDMDevice", GetLastError() );
return 1;
}
DWORD dwOutput ;
DWORD inputBuffer[3] =
{
0x378,//對0x378進行操作
1,//1代表8位操作,2代表16位操作,4代表32位操作
2//輸出字節
};
//產生周期是200毫秒的周期信號
for (;;)
{
DeviceIoControl(hDevice, WRITE_PORT, inputBuffer, sizeof(inputBuffer), NULL, 0, &dwOutput, NULL);
inputBuffer[2] = inputBuffer[2] ^3;//讓第0、1位求反
Sleep(100);//暫停100毫秒
}
CloseHandle(hDevice);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -