程序加断点执行成功, 但是不加断点就失败

Isnis-fallen 2014-01-03 10:17:35
程序加断点执行成功, 但是不加断点就失败, 运行结果完全不同, 谁遇到过这情况,怎么解决
...全文
729 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Isnis-fallen 2014-01-03
  • 打赏
  • 举报
回复
时序问题, 确保设置对话框的代码打开没起作用 pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST); pMainWnd->GetWindowText(str); while(str.Find (_T("设置"))==-1) { pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT); //继续找 if(!pMainWnd) --- 这里重头再搜失败 pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST);---搜完全部窗口没‘设置’重搜 pMainWnd->GetWindowText(str); }
Isnis-fallen 2014-01-03
  • 打赏
  • 举报
回复
我有个判断确保设置对话框打开,再执行上面代码, 好像没起作用, 不过设置对话框不打开, 下面循环不会停止, 奇怪
	pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST); 
	pMainWnd->GetWindowText(str);
	while(str.Find (_T("设置"))==-1)
	{
		pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT); //继续找
		if(!pMainWnd)pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST); 
		pMainWnd->GetWindowText(str);
	}
boylafong 2014-01-03
  • 打赏
  • 举报
回复
你的意思是pChildWnd2->PostMessage (BM_CLICK);这句设断点才能把消息发出去还是?
Isnis-fallen 2014-01-03
  • 打赏
  • 举报
回复
代码是发消息打开一个程序的设置窗口
	pMainWnd = AfxGetMainWnd()->GetWindow(GW_HWNDFIRST); 
	while (pMainWnd) 
	{ 
		HWND hWnd,hNext2;
		CWnd* pChildWnd2;
		CWnd* pMainWnd2;

		pMainWnd->GetWindowText(str);
		if(str.Find (_T("设置"))>-1){
			//hNext=FindWindowEx(pMainWnd->m_hWnd,NULL,_T("#32770"),NULL)->m_hWnd;
			pMainWnd2 = FindWindowEx(pMainWnd->m_hWnd,NULL,_T("#32770"),NULL); 
			hNext2=(HWND)FindWindowEx(pMainWnd2->m_hWnd,NULL,_T("#32770"),NULL)->GetSafeHwnd();
			hNext2=FindWindowEx(pMainWnd2->m_hWnd,hNext2,_T("#32770"),NULL)->GetSafeHwnd();
			pChildWnd2 = CWnd::FromHandle(hNext2); 

			//找消息发送按钮
			int m=1;
			hWnd=FindWindowEx(pChildWnd2->m_hWnd,NULL,_T("Button"),NULL)->m_hWnd;
			while (hWnd) {
				pChildWnd2=CWnd::FromHandle(hWnd);
				if(m==1){
					pChildWnd2->PostMessage (BM_CLICK);
					x++;
				}
				m++;
				if(m==2)break;
				hWnd=FindWindowEx(pChildWnd2->m_hWnd,hWnd,_T("Button"),NULL)->m_hWnd;
			}
		}
		if(x==1)break;
		pMainWnd = pMainWnd->GetWindow(GW_HWNDNEXT); //继续找
	}

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧