我想獲取子窗口的句柄,但是不能。 我想在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