From 67a5e3d825fde17b7b00906ce42b0bd8cafebc4e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 18 八月 2022 18:22:14 +0800 Subject: [PATCH] '完善' --- ConsoleApplication/Win32Util.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git a/ConsoleApplication/Win32Util.cpp b/ConsoleApplication/Win32Util.cpp index b56d2ad..13c0a12 100644 --- a/ConsoleApplication/Win32Util.cpp +++ b/ConsoleApplication/Win32Util.cpp @@ -1,6 +1,7 @@ #include "Win32Util.h" #include <thread> +#include <vector> void clickRunner(int delay) // 函数名字可随意 @@ -25,10 +26,16 @@ Sleep(delay); for (int i = 0;i < nums.length();i++) { - keybd_event(nums.c_str()[i], 0, 0, 0); + int code = int(nums.c_str()[i]); + if (code == '.') + { + code = 110; + } + keybd_event(code, 0, 0, 0); Sleep(5); - keybd_event(nums.c_str()[i], 0, KEYEVENTF_KEYUP, 0); + keybd_event(code, 0, KEYEVENTF_KEYUP, 0); Sleep(20); + } } @@ -104,4 +111,43 @@ void Win32Util::keyboard(int code, int delay) { thread runner(kbKeyRunner, code, delay); runner.join(); -} \ No newline at end of file +} + +DEVMODE Win32Util::getL2ScreenInfo() +{ + //获取屏幕数量 + DEVMODE dm; + int screenNUm = GetSystemMetrics(SM_CMONITORS); + for (int i = 0;i < screenNUm;i++) { + DISPLAY_DEVICE device; + ZeroMemory(&device, sizeof(DISPLAY_DEVICE)); + device.cb = sizeof(DISPLAY_DEVICE); + EnumDisplayDevices(NULL, i, &device, NULL); + + + ZeroMemory(&dm, sizeof(dm)); + dm.dmSize = sizeof(dm); + EnumDisplaySettings(device.DeviceName, ENUM_CURRENT_SETTINGS, &dm); + + if (dm.dmPelsWidth > 3000) { + return dm; + } + } + throw string("尚未找到适合L2的显示设备"); + return DEVMODE(); +} + +void Win32Util::moveWin(HWND win, int x, int y, int width, int height) { + MoveWindow(win,x,y,width,height,TRUE); +} + +bool Win32Util::isWindowShow(HWND win) { + return IsWindowVisible(win); +} + +void Win32Util::showWindow(HWND hwnd) { + ShowWindow(hwnd, SW_SHOWNORMAL); +} + + + -- Gitblit v1.8.0