我想获取子窗口的句柄,但是不能。 我想在Edit控件中自动插入文字。 以下是我有:在C++中获取子窗口的句柄
//global var
int id=0;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
id = GetDlgCtrlID(hwnd);
HWND hwnd_Child;
hwnd_Child = GetDlgItem(hwnd, id);
SendMessage(hwnd_Child, WM_SETTEXT, NULL, (LPARAM)"mYtexttttt");
/* other code */
// id is always 0, why ?
// return FALSE; // stop enumerating
return TRUE; // continue enumeration
}
void MyFunction()
{
HWND hwnd_Parent;
hwnd_Parent = FindWindow(NULL,"MyTitle"); if(! hwnd)return;
EnumChildWindows(hWnd ,(WNDENUMPROC)EnumWindowsProc, NULL);
}
在WinSpy ++,所有组件的控制ID是000000000是否有可能控制ID没有被定义?
如果我有主窗口的句柄,并且未定义控件ID,如何查找某个特定(编辑框)组件的子句柄?
另外,主窗口是一个运行DirectX的游戏应用程序,我想。 我想在Edit控件中自动插入文本。
有时ID没有被定义,但是你的代码无论如何看起来都是错误的。你如何识别孩子窗口?你打算怎么说你想要哪一个? – 2012-04-02 18:52:37
首先我正在测试,我尝试将SendMessage发送给EnumChildWindows发现的所有处理程序....但这不起作用,我想自动在Edit控件中插入文本 – Jigberto 2012-04-02 19:46:41