-
Автор темы
- #1
ahk.h:
#pragma once
#include <Windows.h>
#include <stdio.h>
class color {
public:
color(int _r, int _g, int _b) {
r = _r;
g = _g;
b = _b;
}
int r;
int g;
int b;
};
namespace ahk {
inline void setCursorPos(int x, int y) {
SetCursorPos(x, y);
}
inline color getPixelColor(int x, int y) {
HINSTANCE _hGDI = LoadLibrary(L"gdi32.dll");
if (_hGDI) {
HDC _hdc = GetDC(NULL);
if (_hdc) {
COLORREF _color = GetPixel(_hdc, x, y);
ReleaseDC(NULL, _hdc);
return(color(GetRValue(_color), GetGValue(_color), GetBValue(_color)));
}
FreeLibrary(_hGDI);
}
return color(0, 0, 0);
}
inline INPUT keybouardButtonDown(int key) {
INPUT Input = { 0 };
Input.type = INPUT_KEYBOARD;
Input.ki.wScan = 0;
Input.ki.time = 0;
Input.ki.dwExtraInfo = 0;
Input.ki.wVk = key;
Input.ki.dwFlags = 0;
SendInput(1, &Input, sizeof(INPUT));
return Input;
}
inline void keybouardButtonUp(INPUT Input) {
Input.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &Input, sizeof(INPUT));
}
inline void keyboardButton(int key) {
INPUT Input = keybouardButtonDown(key);
keybouardButtonUp(Input);
}
inline void sendMouseDown(bool rightClick = false) {
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = rightClick ? MOUSEEVENTF_LEFTDOWN : MOUSEEVENTF_RIGHTDOWN;
SendInput(1, &Input, sizeof(INPUT));
}
inline void sendMouseUp(bool rightClick = false) {
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = rightClick ? MOUSEEVENTF_LEFTUP : MOUSEEVENTF_RIGHTUP;
SendInput(1, &Input, sizeof(INPUT));
}
inline void click(bool rightClick = false) {
sendMouseDown(rightClick);
sendMouseUp(rightClick);
}
inline bool checkColor(color x, color y) {
if (x.r == y.r && x.g == y.g && x.b == y.b)
return true;
else
return false;
}
}
void setCursorPos | Выставить позицию курсора Аргументы: int x, int y (Позиция на экране) |
color getPixelColor | Получить цвет в пикселе (R, G, B) Аргументы: int x, int y (Позиция на экране) Возвращает: color(r, g, b) |
INPUT keybouardButtonDown | Симулировать нажатие кнопки клавиатуры (Работает если программа запускается от имени администратора) Аргументы: int key (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)Возвращает: INPUT |
void keyboardButtonUp | Симулировать отпускание кнопки клавиатуры (Работает если программа запускается от имени администратора) Аргументы: INPUT (К примеру: keyboardButtonDown возвращает Input) |
void keyboardButton | Симулировать нажатие и отпускание кнопки клавиатуры (Работает если программа запускается от имени администратора) |
void sendMouseDown | Симулировать нажатие левой кнопки мыши Аргументы: bool rightClick (true - правой кнопкой мыши, false [стандартное значение] - левая кнопка мыши) |
void sendMouseUp | Симулировать отпускание левой кнопки мыши Аргументы: bool rightClick (true - правой кнопкой мыши, false [стандартное значение] - левая кнопка мыши) |
void click | Симулировать нажатие и отпускание кнопки мыши Аргументы: bool rightClick (true - правой кнопкой мыши, false [стандартное значение] - левая кнопка мыши) |
bool checkColor | Сверить два цвета Аргументы: color x, color y (Два цвета) |
Замените это
На это
C++:
HINSTANCE _hGDI = LoadLibrary(L"gdi32.dll");
C++:
HINSTANCE _hGDI = LoadLibrary("gdi32.dll");
Последнее редактирование: