一個dialog的程序﹐窗口標題為"aaa", 它上面有個文本框和一個按鈕﹐我如何在另一程序中往它文本框中輸入文字后按下按鈕?具體請寫下簡短代碼﹐不要簡單說地說用FindWindow(NULL,"aaa");得到窗口句柄不勝感謝﹗
解决方案 »
- 如何在结束程序时要求输入密码?
- 急急急!!!关于两个dll和exe之间的问题
- 地图填充问题
- 修改对话框的menu属性后,添加了菜单,但是如何在程序中操纵菜单?
- 做一个基于cs的话费查询系统,回答者均有分!
- 如何将输入的值传入数据库SQL的问题?
- 看很多人都在问关于结构在COM中的定义,现在统一回答!
- 100分求《vc++编程高手》希望工作室 2000年出版,光盘所附源代码
- 请问:我请读取计算机ROM区中F000H:FFF5H-F000H:FFFFH中的内容。该怎么办?
- ===========菜鸟提问,怎样知道一个日期比另一个日期大多少天?==================
- 什么时候才是设置一个模态(DoModal)窗体显示时的输入焦点的最佳时机?
- vc下如何设置CListCtrl的属性使得用户可以拷贝CListCtrl显示的信息,谢谢
{
CWnd *pWndPrev, *pWndChild; // Determine if a window with the class name exists...
if (pWndPrev = CWnd::FindWindow(_T("MyNewClass"),NULL))
{
// If so, does it have any popups?
pWndChild = pWndPrev->GetLastActivePopup(); // If iconic, restore the main window.
if (pWndPrev->IsIconic())
pWndPrev->ShowWindow(SW_RESTORE); // Bring the main window or its popup to the foreground
pWndChild->SetForegroundWindow(); // and you are done activating the other application.
return FALSE;
}
}
按下按钮模拟鼠标操作或捕获一下按钮按下的消息
ASSERT ( m_hDlg ) ;
CWnd * m_hBtn=CWnd::FromHandle(FindWindowEx(m_hDlg->GetSafeHwnd(),NULL,"BUTTON","按钮上的文本"));
ASSERT ( m_hBtn ) ;
CWnd * m_hEdit=CWnd::FromHandle(FindWindowEx(m_hDlg->GetSafeHwnd(),NULL,"EDIT",NULL));
ASSERT ( m_hEdit ) ;
TCHAR szText [MAX_PATH];
_stprintf ( szText , TEXT ( "%s" ) , "给文本框中输入的文字" ) ;
::SendMessage(m_hEdit->GetSafeHwnd(), WM_SETTEXT,MAX_PATH ,(LPARAM)szText); ::SendMessage ( m_hBtn->GetSafeHwnd () , WM_LBUTTONDOWN , 0 , 0 ) ; keybd_event(VK_RETURN,0x45,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_RETURN,0x45,KEYEVENTF_KEYUP,0);
CFileException e;
char* pFileName ;
char pbuf[100];
memset(pbuf,0,100);
LPTSTR lpString;
CString filename="c:\\louhong";
CString title="aaa";
f_window=::FindWindow((LPCSTR)(DWORD)WC_DIALOG,title);//找到要输入文件名的对话框的窗口,获得它的句柄。
memset(pbuf,0,100);
::GetWindowText(f_window,pbuf,15);
lpString=title.GetBuffer(15);
if(*lpString==*pbuf)
{
pFileName=filename.GetBuffer(20);
filename.ReleaseBuffer();
//注意: CEdit和CButton 都是CWnd 的子类,所以都是窗口,也可以用::FindWindowEx查找得到。
a_window=::FindWindowEx(f_window,NULL,"Edit",NULL);//找到要输入文件名的编辑框。
lpString=filename.GetBuffer(15);
::SendMessage(a_window, WM_SETTEXT,NULL,(LPARAM)lpString);//模拟键盘输入文件名
b_window=::FindWindowEx(f_window,NULL,"Button",NULL);// 找到”确定”按扭
::SendNotifyMessage(b_window, WM_LBUTTONDOWN,MK_LBUTTON,NULL);//给”确定”按扭发送一个按下鼠标左键的消息
::SendNotifyMessage(b_window, WM_LBUTTONUP, NULL,NULL);// 再给”确定”按扭发送一个弹起鼠标左键的消息,第三个参数一定要是NULL,否则不成功。
title.ReleaseBuffer();
是要填写的内容!