Jquery如何获取下一个控件的ID
展开全部 首先你需要获得需要操作窗体(A)的句柄。
第二需要你获得窗体(A)中控件的ID号,比如文本框(Edit)控件的ID第三需要根据控件的ID获得控件的句柄(hwnd)第四根据hwnd对控件进行操作明白了上述任务之后,那么下面的就是具体如何操作了。
第一:获得窗体的句柄 分为两种情况,窗体有标题和窗体没有标题有标题的窗体很简单使用window API中的FindWindow就很容易找到。
HWnd hwnd = ::FindWindow(NULL,"窗体的标题名字");如果窗体没有标题,只知道窗体的类名那么也可以使用FindWindow。
HWnd hwnd = ::FindWindow("窗体的类名",NULL); 如果窗体没有标题,也不知道类名。
但窗体中的按钮或者文本可以明显看到,也是可以找到窗体的句柄的。
可以使用函数EnumWindows和EnumWindowsProc 假设窗体没有标题,也不知道该窗体的类名,但知道窗体中有一个“登陆"按钮的名字。
具体操作如下:// 枚举已经打开的窗体,回调函数 BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam) { if(::IsWindowVisible(hWnd)) { wchar_t WindowTitle[100]={0}; /*::GetWindowText(hWnd,WindowTitle,100); ::MessageBox(NULL,WindowTitle,NULL,MB_OK); */ ::GetWindowText(hWnd,WindowTitle,100); CString str1=WindowTitle; UINT a=0; if(str1=="") { a = ::GetDlgItemText(hWnd,1,WindowTitle,100); CString str=WindowTitle; if(str == _T("登录")) { ((CAutoLoginDlg*)lParam)->dhwnd = hWnd; return FALSE; } } return a==0; } return TRUE; } 调用方式:HWND hWnd =NULL; EnumWindows(&EnumWindowsProc ,(LPARAM)this ); hWnd = this->dhwnd;OK 至此您已经获得窗体A的操作句柄hwnd了。
广联达计价软件GBQ4.0如何知道报表控件版本号?
展开全部1. 自己加个索引,在按钮的响应函数中去设置值,一个按钮对一个索引值2. SetWindowLong设置按钮的窗口过程,处理BN_CLICKED,有点同13. 如果你一定要按照上面你自己的方法写的话,可以这样写C/C++ code?1234567891011121314151617preTranslateMessage(UINT message, WPARAM wParam, LPARAM lParam){POINT pt;::GetCursorPos(&pt);HWND hWnd = ::WindowFromPoint(pt);if(hWnd){TCHAR szClassName[256] = {0};::GetClassName(hWnd, szClassName, 255);if(0 == _tcscmp(szClassName, _T("Button"))){int nId = ::GetDlgCtrlID(hWnd);_stprintf(szClassName, _T("ID: %d"), nId);::MessageBox(NULL, szClassName, _T("Message"), 0);}}}...
转载请注明出处51数据库 » 如何知道某个软件的控件id
回忆里的那个人丶92152756