Files
L2M_MACRO/ClientIOCall/ClientIOCall.cpp

252 lines
6.2 KiB
C++
Raw Normal View History

2020-03-09 11:51:53 +09:00
// adddevice.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <windows.h>
#include <initguid.h>
#include <setupapi.h>
#include <stdio.h>
#include ".\..\common\common.h"
#include ".\..\common\hidmapper.h"
#include ".\..\common\driverapi.h"
#pragma comment(lib,"setupapi.lib")
#define LEDSHOWTEST
int main(int argc, char* argv[])
{
HANDLE hDevice;
BOOLEAN bRet = FALSE;
int count = 0;
HIDKEYCODE HKeyCode = { 0, }; // <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ѹ<EFBFBD><D1B9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>°͵<C2B0> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
HIDMOUSECODE HMouseCode = { 0, }; // <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ѹ<EFBFBD><D1B9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>°͵<C2B0> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
_HK_ClientDriverApiInitialize();
hDevice = _HK_ClientDriverApiFindDriverName();
if (hDevice == (HANDLE)-1)
{
return 0;
}
#ifdef LEDEVENTTEST
// <20><><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><CCB9><EFBFBD> Ű<><C5B0><EFBFBD><EFBFBD> LED <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>
HANDLE hLED_Event = 0;
hLED_Event = CreateEvent(NULL, FALSE, FALSE, NULL);
bRet = _HK_ClientDriverApiSetLEDEvent(hDevice, hLED_Event);
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x53; // NUMLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
// <20>ü<EEBFB5><C3BC><EFBFBD><EFBFBD> LED<45><44> <20>Ѷ<EFBFBD><D1B6><EFBFBD> <20>޽<EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD><DFB4><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD>Ѵ<EFBFBD>
WaitForSingleObject(hLED_Event, INFINITE);
// <20><><EFBFBD><EFBFBD><EFBFBD>̹<EFBFBD><CCB9>κ<EFBFBD><CEBA><EFBFBD> Ű<><C5B0><EFBFBD><EFBFBD> LED <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>о<D0BE><EEBABB>
HIDLED HidLedData = { 0, };
_HK_ClientDriverApiQueryIndicators(hDevice, &HidLedData);
if (hLED_Event)
CloseHandle(hLED_Event);
#endif
#ifdef LEDSHOWTEST
/*
for (count = 0; count < 1000; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x53;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x39;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x47;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
}*/
Sleep(2000);
for (count = 0; count < 10; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x13; // NUMLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(1000);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
}
/*
for (count = 0; count < 10; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x53; // NUMLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0x39; // CAPSLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0x47; // SCROLLLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.u.Modifier.LWINDOW = 1; // Window Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>غ<EFBFBD><D8BA><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
HKeyCode.u.Modifier.LWINDOW = 0; // Window Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>غ<EFBFBD><D8BA><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(100);
}
for (count = 0; count < 1000; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x53;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x39;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x47;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
}
for (count = 0; count < 10; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
// NUMLOCK, CAPSLOCK, SCROLLLOCK<43><4B>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HKeyCode.Key[0] = 0x53;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(10);
HKeyCode.Key[0] = 0x39;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(10);
HKeyCode.Key[0] = 0x47;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(10);
HKeyCode.u.Modifier.LWINDOW = 1; // Window Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>غ<EFBFBD><D8BA><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(10);
HKeyCode.u.Modifier.LWINDOW = 0; // Window Ű<><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>غ<EFBFBD><D8BA><EFBFBD>
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
Sleep(10);
}
for (count = 0; count < 1000; count++)
{
// Ű<><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LED<45><44> <20>Ѻ<EFBFBD><D1BA><EFBFBD>
memset(&HKeyCode, 0, sizeof(HIDKEYCODE));
HKeyCode.Key[0] = 0x53;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x39;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0x47;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
HKeyCode.Key[0] = 0;
_HK_ClientDriverApiSimulateKey(hDevice, &HKeyCode);
}
*/
#endif
#ifdef MOUSETEST
srand(GetTickCount());
for (count = 0; count < 500; count++)
{
memset(&HMouseCode, 0, sizeof(HIDMOUSECODE));
int z = rand();
if (z%4 == 0)
{
HMouseCode.X = rand()%40;
HMouseCode.Y = rand() % 40;
}
if (z%4 == 1)
{
HMouseCode.X = (rand() % 40) * -1;
HMouseCode.Y = rand() % 40;
}
if (z%4 == 2)
{
HMouseCode.X = rand() % 40;
HMouseCode.Y = (rand() % 40) * -1;
}
if (z%4 == 3)
{
HMouseCode.X = (rand() % 40) * -1;
HMouseCode.Y = (rand() % 40) * -1;
}
_HK_ClientDriverApiSimulateMouse(handle, &HMouseCode);
Sleep(8);
}
#endif
_HK_ClientDriverApiCloseHandle( hDevice );
return 0;
}