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