我想得到聊天室文本输入框的句柄,好比我对话框上有个按钮,点击按钮把得到输入框的句柄在相应的处理函数里处理,下面这个代码写在哪里?不在按钮对应的响应函数里吧(如果这样鼠标点击时,鼠标的位置在按钮上阿,得不到文本输入框的句柄的),给帮帮忙?代码写在哪?怎么办阿?你觉得很菜可我想不到阿
CPoint point;
GetCursorPos(&point);
HWND hWnd = WindowFromPoint(point);
或者如果用遍历窗口
EnumChildWindows(hwnd,EnumChildProc,0);//hwnd is parent window handle
BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam)
{
char temp[100]; GetClassName(hwndChild, temp, sizeof(temp));
if(!strcmp(temp,_T("Edit")))// Edit输入框
return TRUE;
}
怎样做呢?这又是怎么得到文本输入框的句柄的?帮帮忙,分觉得不够,我其他帖子还有
CPoint point;
GetCursorPos(&point);
HWND hWnd = WindowFromPoint(point);
或者如果用遍历窗口
EnumChildWindows(hwnd,EnumChildProc,0);//hwnd is parent window handle
BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam)
{
char temp[100]; GetClassName(hwndChild, temp, sizeof(temp));
if(!strcmp(temp,_T("Edit")))// Edit输入框
return TRUE;
}
怎样做呢?这又是怎么得到文本输入框的句柄的?帮帮忙,分觉得不够,我其他帖子还有
IE窗口和普通窗口不同不能用API得到句柄
CString GetPassword(IHTMLDocument2 *pDoc2,POINT pt)
{
if(pDoc2==NULL)return "";
CComPtr<IHTMLElement> pElement;
HRESULT hr=pDoc2->elementFromPoint(pt.x,pt.y,&pElement);
if(SUCCEEDED(hr)){
CComPtr<IHTMLInputTextElement> pPwdElement;
hr=pElement->QueryInterface(IID_IHTMLInputTextElement,
(void**)&pPwdElement);
if(SUCCEEDED(hr)){
CComBSTR type;
hr=pPwdElement->get_type(&type);
if(SUCCEEDED(hr)){
if(type==_T("password")){
CComBSTR pwd;
hr=pPwdElement->get_value(&pwd);
if(SUCCEEDED(hr)){
if(pwd.Length()!=0){
CComBSTR msg;
msg=pwd;
CString str(msg);
return str;
}
else{
return "";
}
}
}
}
}
}
pDoc2->Release();
return "";
}
BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam);
BOOL CSecuryEntryDlg::OnInitDialog()
{ EnumChildWindows(hwnd,FillFieldProc,LPARAM(CryptAppID));
}
BOOL CALLBACK CSecuryEntryDlg:: EnumChildProc(HWND hwndChild, LPARAM lParam)
{
char temp[100];
GetClassName(hwndChild, temp, sizeof(temp));
if(!strcmp(temp,_T("Edit")))// Edit输入框
return TRUE;
}