From 1a16b19acb23a4f28bafd01f3ed80fb225a96c3e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 30 九月 2022 18:04:12 +0800
Subject: [PATCH] 'bug修复'

---
 ConsoleApplication/THSActionUtil.cpp |   74 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 6 deletions(-)

diff --git a/ConsoleApplication/THSActionUtil.cpp b/ConsoleApplication/THSActionUtil.cpp
index 26da8ec..7de914c 100644
--- a/ConsoleApplication/THSActionUtil.cpp
+++ b/ConsoleApplication/THSActionUtil.cpp
@@ -541,6 +541,7 @@
 	std::list<int*> dataItemList;
 
 	for (int i = start_row;i < end_row;i++) {
+		//TODO  100
 		bool empty = ImgDivider::isRowEmpty(img, i, start_col, start_col + 50, 1, _IMG_BINARY_THRESHOLD) && ImgDivider::isRowEmpty(img, i, start_col + 50, start_col + 150, 2, _IMG_BINARY_THRESHOLD) && ImgDivider::isRowEmpty(img, i, start_col + (end_col - start_col) / 2 - 40, start_col + (end_col - start_col) / 2 + 40, 1, _IMG_BINARY_THRESHOLD);
 		if (empty) {
 			if (emptyStartRow < 0) {
@@ -667,7 +668,7 @@
 		}
 	}
 
-	if (contentStartRow < 0|| contentStartRow>rows-100) {
+	if (contentStartRow < 0 || contentStartRow>rows - 100) {
 		throw string("起始行分隔出错(18)");
 	}
 
@@ -1039,7 +1040,7 @@
 	}
 
 	contentEndRow = contentStartRow + 50;
-	
+
 	//分隔列
 	list<int*> dataColIndexs;
 	int startf = -1;
@@ -1286,11 +1287,11 @@
 	}
 
 	Sleep(200);
-	addDialog = FindWindowExA(addDialog, NULL,"AfxWnd100s","CEFBrowser" );
+	addDialog = FindWindowExA(addDialog, NULL, "AfxWnd100s", "CEFBrowser");
 	addDialog = FindWindowExA(addDialog, NULL, "CefBrowserWindow", NULL);
 	addDialog = FindWindowExA(addDialog, NULL, "Chrome_WidgetWin_0", NULL);
 	addDialog = FindWindowExA(addDialog, NULL, "Chrome_RenderWidgetHostHWND", NULL);
-	cout << "添加股票弹框:"<< addDialog << endl;
+	cout << "添加股票弹框:" << addDialog << endl;
 
 
 	Win32Util::focus(addDialog);
@@ -1422,7 +1423,7 @@
 			lastBar = bar;
 		}
 		bar = FindWindowEx(hwnd, bar, TEXT("msctls_statusbar32"), NULL);
-		if (count > 10|| bar<=0) {
+		if (count > 10 || bar <= 0) {
 			bar = 0;
 			break;
 		}
@@ -1447,7 +1448,7 @@
 
 bool THSActionUtil::thsIsDead()
 {
-	cv::Mat oldMat= getTHSTimeCapture();
+	cv::Mat oldMat = getTHSTimeCapture();
 	Sleep(1200);
 	cv::Mat newMat = getTHSTimeCapture();
 
@@ -1457,6 +1458,67 @@
 
 	return FALSE;
 }
+void THSActionUtil::updateMainSite()
+{
+	//获取主页
+	HWND main = getMainWin();
+	if (main <= 0) {
+		throw string("同花顺主页未打开");
+	}
+	Win32Util::showWindow(main);
+	//获取toolbar
+	HWND win = NULL;
+	do {
+		win = FindWindowExA(main, win, "AfxControlBar100s", "");
+		if (win <= 0) {
+			break;
+		}
+
+		RECT rect;
+		GetWindowRect(win, &rect);
+		if (rect.bottom - rect.top >= 40 && rect.bottom - rect.top <= 60) {
+			break;
+		}
+	} while (true);
+
+	if (win <= 0) {
+		throw string("测速按钮未找到");
+	}
+
+	win = FindWindowExA(win, NULL, "#32770", "");
+	if (win <= 0) {
+		throw string("测速按钮未找到");
+	}
+
+	HWND btn = GetDlgItem(win, 0x00007A17);
+	if (btn <= 0) {
+		throw string("测速按钮未找到");
+	}
+
+	//点击按钮
+	Win32Util::visualClick(btn, MAKELONG(3,3));
+	for (int i = 0;i < 10;i++) {
+		list<HWND> _list = Win32Util::searchWindow("选择最优行情主站");
+		if (_list.size() > 0) {
+			HWND win = *(_list.begin());
+			HWND loginBtn = 0;
+			for (int j = 0;j < 10;j++)
+			{
+				loginBtn =	FindWindowExA(win, NULL, "Button", "登 录");
+				if (loginBtn > 0) {
+					//点击登录按钮
+					Win32Util::visualClick(loginBtn, MAKELONG(2, 2));
+					break;
+				}
+				Sleep(200);
+			}
+		}
+		Sleep(400);
+	}
+
+
+
+}
 void THSActionUtil::clearPlateCodes(HWND hwnd)
 {
 	HWND content = FindWindowExA(hwnd, NULL, "AfxFrameOrView100s", NULL);

--
Gitblit v1.8.0