CEdit::GetWindowText无法获取文本框输入,文本框里面有数据,但获取的是空字符串
HWND ghwnd;
BOOL CALLBACK MyEnumWndProc5(HWND hWnd, LPARAM lParam);
BOOL CALLBACK MyEnumWndProc5(HWND hWnd, LPARAM lParam)
{
DWORD id;
GetWindowThreadProcessId(hWnd, &id);
if(id==(DWORD)lParam)
{
ghwnd=hWnd;
return FALSE;
}
return TRUE;
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
ghwnd=NULL;
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
CreateProcess(NULL, "E:\\Test\\MyTest1.exe", NULL, NULL, TRUE,NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
WaitForInputIdle(pi.hProcess, 40000);
EnumWindows((WNDENUMPROC)MyEnumWndProc5, (LPARAM)pi.dwProcessId);
if(ghwnd)
{
char szCaption[256];
GetWindowText(ghwnd, szCaption, 256);
CWnd *window=(CWnd*)GetWindow(ghwnd,NULL);
window->SetWindowPos(NULL,0,0,100,100,NULL);
CEdit *textBox= (CEdit*)window->FindWindowExA(ghwnd,0,"Edit","");
//CEdit *textBox= (CEdit*)window->GetDlgItem(0x00230f62);
CString temp;
textBox->GetWindowText(temp);
cout<<temp;
cin>>new char[256];
}
}
return nRetCode;
}