From 4b3870680567141393d2a351d4704f8522a4552c Mon Sep 17 00:00:00 2001 From: cast1e Date: Wed, 25 Sep 2024 11:30:45 +0800 Subject: [PATCH] edit window find --- Build/wallitor-core.dll | Bin 118272 -> 118784 bytes Build/wallitor-core.exp | Bin 779 -> 776 bytes Build/wallitor-core.lib | Bin 1998 -> 1998 bytes dllmain.cpp | 4 ++-- playerInstance.cpp | 45 +++++++++++++++++++++++++++++++++++----- playerInstance.h | 2 +- 6 files changed, 43 insertions(+), 8 deletions(-) diff --git a/Build/wallitor-core.dll b/Build/wallitor-core.dll index ac9fe129575f4ca03b0304b8171f9a2abed7043a..064e9bbaeb2ef2f11220cdba2193497379f3f144 100644 GIT binary patch literal 118784 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 literal 118272 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 delta 147 zcmeBR>t^FjX=7se4+Q!XIh`5hC;Fb25oTmyuw!5pWB>wJtC-~cl+>8;#GIVWlKi5{ z+Ke_v>I@&77#MsrlZ*0;^V3QcG=el0d_4WU8QK|a1sRgdQ!uqnV6>48bB+ng&(A52 f@eKwt4NdfnE%l6zO${w4e_?cB`q(ttjOh{p?T0PH diff --git a/Build/wallitor-core.lib b/Build/wallitor-core.lib index ab7d441ac60c5f4aa894b217c9b9a1b890fbe899..3e6958613ae9d06fe79fcb595967b31f9678235c 100644 GIT binary patch delta 109 zcmX@de~y1c1QSao!=|^BW0ez~ xJunse5ZQ88ox>|mKAt?EMSgM(lk{X!wn~@^WiE&0{M-V)%oO34&HLH-83B76A_@Qi delta 109 zcmX@de~y1c1QW~L>2IG*j$zuuqR#NKX|f)x`ebWn3nm~lo>gjdKQlKY%c(oRzE7UV y(gRbW50NcrmG}F0generate(); + return player_instance->generate(); } extern "C" __declspec(dllexport) void destroy() { diff --git a/playerInstance.cpp b/playerInstance.cpp index 37b52e6..80f1e50 100644 --- a/playerInstance.cpp +++ b/playerInstance.cpp @@ -1,5 +1,7 @@ #include "pch.h" #include "playerInstance.h" +#include +#include playerInstance::playerInstance(const conFig& config) { this->config = config; @@ -16,6 +18,33 @@ static BOOL CALLBACK EnumWindowsProc(_In_ HWND hwnd, _In_ LPARAM Lparam) { return TRUE; } +HWND findWindowTimeOut(const wchar_t* name, int timeoutMillis) { + auto start = std::chrono::steady_clock::now(); + HWND hwnd = nullptr; + + while (true) { + // 使用 FindWindowW 查找窗口 + hwnd = FindWindowW(name, 0); + + // 如果找到窗口,则返回 + if (hwnd != nullptr) { + return hwnd; + } + + // 计算当前经过的时间 + auto now = std::chrono::steady_clock::now(); + int elapsedMillis = std::chrono::duration_cast(now - start).count(); + + // 如果超时,则返回 nullptr + if (elapsedMillis > timeoutMillis) { + return nullptr; + } + + // 等待一段时间(例如100毫秒)再尝试查找 + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } +} + BOOL playerInstance::showWindow(LPCWSTR lpParameter) { if (this->hFfplay != NULL) { DWORD dwPID = 0; @@ -29,10 +58,14 @@ BOOL playerInstance::showWindow(LPCWSTR lpParameter) { si.wShowWindow = SW_HIDE; PROCESS_INFORMATION pi{ 0 }; if (CreateProcess(this->config.ffpath.c_str(), (LPWSTR)lpParameter, 0, 0, 0, CREATE_NO_WINDOW, 0, 0, &si, &pi)) { - Sleep(600);//等待视频播放器启动完成 - HWND hProgman = FindWindow(L"Progman", 0);// 找到PI窗口 + //Sleep(600);//等待视频播放器启动完成 + //HWND hProgman = FindWindow(L"Progman", 0);// 找到PI窗口 + HWND hProgman = findWindowTimeOut(L"Progman",1000); + if (hProgman == nullptr) return FALSE; SendMessageTimeout(hProgman, 0x052c, 0, 0, 0, 100, 0);// 给它发特殊消息 - this->hFfplay = FindWindowW(L"SDL_app", 0);// 找到视频窗口 + //this->hFfplay = FindWindowW(L"SDL_app", 0);// 找到视频窗口 + this->hFfplay = findWindowTimeOut(L"SDL_app", 1000); + if (this->hFfplay == nullptr) return FALSE; SetParent(hFfplay, hProgman);// 将视频窗口设苦为PM的子窗口 int systemWidth = GetSystemMetrics(0); int systemHeight = GetSystemMetrics(1); @@ -49,6 +82,8 @@ BOOL playerInstance::showWindow(LPCWSTR lpParameter) { MoveWindow(hFfplay, 0, x, cRct.right - cRct.left, cRct.bottom - cRct.top, 0); }*/ EnumWindows(EnumWindowsProc, 0);// 找到第二个workerw窗口并隐藏它 + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); return TRUE; } CloseHandle(pi.hProcess); @@ -56,7 +91,7 @@ BOOL playerInstance::showWindow(LPCWSTR lpParameter) { return FALSE; } -void playerInstance::generate() { +BOOL playerInstance::generate() { std::wstring fcmd = L" \""; fcmd += this->config.videoPath + L"\""; fcmd += L" -noborder -loop 0"; @@ -64,7 +99,7 @@ void playerInstance::generate() { fcmd += L" -an"; } fcmd += L" -fs"; - this->showWindow(fcmd.c_str()); + return this->showWindow(fcmd.c_str()); } void playerInstance::exit() { diff --git a/playerInstance.h b/playerInstance.h index f3c9434..2809f97 100644 --- a/playerInstance.h +++ b/playerInstance.h @@ -9,7 +9,7 @@ private: public: playerInstance(const conFig& config); BOOL showWindow(LPCWSTR lpParameter); - void generate(); + BOOL generate(); void exit(); };