|
@@ -220,9 +220,9 @@ GameAssist::GameWndInfo* CGameAssistDlg::GetCurGameInfo()
|
|
|
void CGameAssistDlg::OnBnClickedOpengame() // 打开游戏;
|
|
void CGameAssistDlg::OnBnClickedOpengame() // 打开游戏;
|
|
|
{
|
|
{
|
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
|
- if (!PathFileExists(GAssist::g_szGameApp))
|
|
|
|
|
|
|
+ if (!PathFileExists(GameGlobal::g_szGameApp))
|
|
|
{
|
|
{
|
|
|
- MessageBox("游戏程序不存在", "温馨提示");
|
|
|
|
|
|
|
+ MessageBox(_T("游戏程序不存在", "温馨提示"));
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -230,14 +230,14 @@ void CGameAssistDlg::OnBnClickedOpengame() //
|
|
|
//SetCurrentDirectory(_T("E:\\dhsh\\shdata\\"));
|
|
//SetCurrentDirectory(_T("E:\\dhsh\\shdata\\"));
|
|
|
SetCurrentDirectory(_T("D:\\tools\\dhsh\\shdata\\"));
|
|
SetCurrentDirectory(_T("D:\\tools\\dhsh\\shdata\\"));
|
|
|
#if 1
|
|
#if 1
|
|
|
- ShellExecute(NULL, "open", GAssist::g_szGameApp, NULL, NULL, SW_SHOWNORMAL);//SW_HIDE无用,因为会自动结;
|
|
|
|
|
|
|
+ ShellExecute(NULL, "open", GameGlobal::g_szGameApp, NULL, NULL, SW_SHOWNORMAL);//SW_HIDE无用,因为会自动结;
|
|
|
Sleep(500); // Main.exe设置了陷阱(自己再开启了一个进程,结束上一个进程),需要等5秒;
|
|
Sleep(500); // Main.exe设置了陷阱(自己再开启了一个进程,结束上一个进程),需要等5秒;
|
|
|
#else
|
|
#else
|
|
|
SHELLEXECUTEINFO stuExecInfo = { 0 };
|
|
SHELLEXECUTEINFO stuExecInfo = { 0 };
|
|
|
DWORD dwExitCode = STILL_ACTIVE;
|
|
DWORD dwExitCode = STILL_ACTIVE;
|
|
|
//CString strCommandLine = _T("open");
|
|
//CString strCommandLine = _T("open");
|
|
|
stuExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
|
|
stuExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
|
|
|
- stuExecInfo.lpFile = GAssist::g_szGamePath;
|
|
|
|
|
|
|
+ stuExecInfo.lpFile = GameGlobal::g_szGamePath;
|
|
|
stuExecInfo.lpParameters = "open";
|
|
stuExecInfo.lpParameters = "open";
|
|
|
stuExecInfo.nShow = SW_SHOWNORMAL;
|
|
stuExecInfo.nShow = SW_SHOWNORMAL;
|
|
|
stuExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI;
|
|
stuExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI;
|
|
@@ -260,16 +260,16 @@ void CGameAssistDlg::OnBnClickedOpengame() //
|
|
|
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
- DWORD dwPID = GAssist::GetProcessId(_T("Main.exe"));
|
|
|
|
|
|
|
+ DWORD dwPID = GameAssist::GetProcessId(_T("Main.exe"));
|
|
|
#if 1
|
|
#if 1
|
|
|
- EnumWindows(GAssist::EnumChildWindowCallBack, dwPID);
|
|
|
|
|
|
|
+ EnumWindows(GameAssist::EnumChildWindowCallBack, dwPID);
|
|
|
|
|
|
|
|
- if (GAssist::g_vtGameHwnd.size())
|
|
|
|
|
|
|
+ if (GameAssist::g_vtCtrlInfo.size())
|
|
|
{
|
|
{
|
|
|
- GAssist::GameHwnd* gp = NULL;
|
|
|
|
|
- GAssist::GameHwnd* gbmin = NULL;
|
|
|
|
|
- GAssist::GameHwnd* gbentry = NULL;
|
|
|
|
|
- for (std::vector<GAssist::GameHwnd>::iterator it = GAssist::g_vtGameHwnd.begin(); it != GAssist::g_vtGameHwnd.end(); it++)
|
|
|
|
|
|
|
+ GameAssist::CtrlInfo* gp = NULL;
|
|
|
|
|
+ GameAssist::CtrlInfo* gbmin = NULL;
|
|
|
|
|
+ GameAssist::CtrlInfo* gbentry = NULL;
|
|
|
|
|
+ for (std::vector<GameAssist::CtrlInfo>::iterator it = GameAssist::g_vtCtrlInfo.begin(); it != GameAssist::g_vtCtrlInfo.end(); it++)
|
|
|
{
|
|
{
|
|
|
if (_tcsicmp(it->strWinText.c_str(), _T("最小化")) == 0)
|
|
if (_tcsicmp(it->strWinText.c_str(), _T("最小化")) == 0)
|
|
|
{
|
|
{
|
|
@@ -299,12 +299,12 @@ void CGameAssistDlg::OnBnClickedOpengame() //
|
|
|
|
|
|
|
|
|
|
|
|
|
Sleep(1500);
|
|
Sleep(1500);
|
|
|
- dwPID = GAssist::GetProcessId();
|
|
|
|
|
|
|
+ dwPID = GameAssist::GetProcessId();
|
|
|
if (dwPID)
|
|
if (dwPID)
|
|
|
{
|
|
{
|
|
|
- GAssist::g_vtGameHwnd.clear();
|
|
|
|
|
- EnumWindows(GAssist::EnumChildWindowCallBack, dwPID);
|
|
|
|
|
- HWND hwnd = GAssist::GetProcessMainWnd(dwPID);
|
|
|
|
|
|
|
+ GameAssist::g_vtCtrlInfo.clear();
|
|
|
|
|
+ EnumWindows(GameAssist::EnumChildWindowCallBack, dwPID);
|
|
|
|
|
+ HWND hwnd = GameAssist::GetProcessMainWnd(dwPID);
|
|
|
if (hwnd)
|
|
if (hwnd)
|
|
|
{
|
|
{
|
|
|
TCHAR szName[MAX_PATH] = { 0 };
|
|
TCHAR szName[MAX_PATH] = { 0 };
|
|
@@ -317,29 +317,29 @@ void CGameAssistDlg::OnBnClickedOpengame() //
|
|
|
if (1)
|
|
if (1)
|
|
|
{ // 800x600
|
|
{ // 800x600
|
|
|
// 发送按钮消息;进入游戏;
|
|
// 发送按钮消息;进入游戏;
|
|
|
- GAssist::MouseClick(hwnd, 585, 116);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({585, 116});
|
|
|
// 发送按钮消息;下一步;
|
|
// 发送按钮消息;下一步;
|
|
|
- GAssist::MouseClick(hwnd, 536, 481);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({536, 481});
|
|
|
// 发送按钮消息;电信一区;
|
|
// 发送按钮消息;电信一区;
|
|
|
- GAssist::MouseClick(hwnd, 229, 342);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({229, 342});
|
|
|
// 发送按钮消息;忘忧谷;
|
|
// 发送按钮消息;忘忧谷;
|
|
|
- GAssist::MouseClick(hwnd, 335, 244);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({335, 244});
|
|
|
// 发送按钮消息;下一步;
|
|
// 发送按钮消息;下一步;
|
|
|
- GAssist::MouseClick(hwnd, 559, 516);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({559, 516});
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
// 640x480
|
|
// 640x480
|
|
|
// 发送按钮消息;进入游戏;
|
|
// 发送按钮消息;进入游戏;
|
|
|
- GAssist::MouseClick(hwnd, 440, 75);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({440, 75});
|
|
|
// 发送按钮消息;下一步;
|
|
// 发送按钮消息;下一步;
|
|
|
- GAssist::MouseClick(hwnd, 468, 454);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({468, 454});
|
|
|
// 发送按钮消息;电信一区;
|
|
// 发送按钮消息;电信一区;
|
|
|
- GAssist::MouseClick(hwnd, 165, 241);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({165, 241});
|
|
|
// 发送按钮消息;忘忧谷;
|
|
// 发送按钮消息;忘忧谷;
|
|
|
- GAssist::MouseClick(hwnd, 289, 195);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({289, 195});
|
|
|
// 发送按钮消息;下一步;
|
|
// 发送按钮消息;下一步;
|
|
|
- GAssist::MouseClick(hwnd, 494, 469);
|
|
|
|
|
|
|
+ GameAssist::MouseClick({494, 469});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -553,23 +553,19 @@ void CGameAssistDlg::OnBnClickedButton12()
|
|
|
GameAssist::GameWndInfo* pGameInfo = GetCurGameInfo();
|
|
GameAssist::GameWndInfo* pGameInfo = GetCurGameInfo();
|
|
|
if (pGameInfo && pGameInfo->pAction)
|
|
if (pGameInfo && pGameInfo->pAction)
|
|
|
{
|
|
{
|
|
|
- // 将鼠标移动到指定位置;
|
|
|
|
|
- POINT ptDest = { 625, 28 }; // 左上角;
|
|
|
|
|
GameAssist::CAction* pAction = (GameAssist::CAction*)pGameInfo->pAction;
|
|
GameAssist::CAction* pAction = (GameAssist::CAction*)pGameInfo->pAction;
|
|
|
-
|
|
|
|
|
while (GameGlobal::nAttackCount--)
|
|
while (GameGlobal::nAttackCount--)
|
|
|
{
|
|
{
|
|
|
BOOL bFirst = TRUE;
|
|
BOOL bFirst = TRUE;
|
|
|
while (pAction->IsBattle())
|
|
while (pAction->IsBattle())
|
|
|
{
|
|
{
|
|
|
- pAction->MouseMove(ptDest);
|
|
|
|
|
if (pAction->IsWattingAttack(-1))
|
|
if (pAction->IsWattingAttack(-1))
|
|
|
{
|
|
{
|
|
|
- if (0)
|
|
|
|
|
|
|
+ if (bFirst)
|
|
|
{
|
|
{
|
|
|
pAction->SendKey(VK_F1);
|
|
pAction->SendKey(VK_F1);
|
|
|
- Sleep(30);
|
|
|
|
|
- pAction->MouseClick({ 226, 158 });
|
|
|
|
|
|
|
+ //Sleep(30);
|
|
|
|
|
+ //pAction->MouseClick({ 226, 158 });
|
|
|
bFirst = FALSE;
|
|
bFirst = FALSE;
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|