64,637
社区成员
发帖
与我相关
我的任务
分享
::SendMessage(editWnd, EM_SETSEL, (WPARAM)_tcslen(text), (LPARAM)_tcslen(text));
[/quote]
好的 大佬 我还有一个问题 等我解决问题就结贴了 多谢帮忙!!!万分感谢~~::SendMessage(editWnd, EM_SETSEL, (WPARAM)_tcslen(text), (LPARAM)_tcslen(text));
HWND mainWnd;
HWND editWnd;
WCHAR text[1024];
mainWnd = ::FindWindow(L"Notepad", L"无标题 - 记事本"); // 窗口的标题要知道
if (mainWnd)
{
editWnd = ::FindWindowEx(mainWnd, NULL, L"Edit", L"");
}
else
{
AfxMessageBox(L"没有找到记事本主窗口");
}
if (editWnd)
{
//::SetWindowText(editWnd, L"234"); // 这个确实不行
//::GetWindowText(editWnd, text, 1024);
::SendMessage(editWnd,WM_GETTEXT,(WPARAM)1024,(LPARAM)text); // 这个可以
AfxMessageBox(text);
_tcscpy(text, L"123");
::SendMessage(editWnd,WM_SETTEXT,(WPARAM)_tcslen(text),(LPARAM)text); // 这个可以
}
else
{
AfxMessageBox(L"没有找到记事本内容窗口");
}
[/quote]
我试了一下 可以实现 多谢大佬
好像有个小问题 sendmessage()刷新的情况下 怎么将输入光标移动到输入数据最后面 现在它在最前面闪烁
HWND mainWnd;
HWND editWnd;
WCHAR text[1024];
mainWnd = ::FindWindow(L"Notepad", L"无标题 - 记事本"); // 窗口的标题要知道
if (mainWnd)
{
editWnd = ::FindWindowEx(mainWnd, NULL, L"Edit", L"");
}
else
{
AfxMessageBox(L"没有找到记事本主窗口");
}
if (editWnd)
{
//::SetWindowText(editWnd, L"234"); // 这个确实不行
//::GetWindowText(editWnd, text, 1024);
::SendMessage(editWnd,WM_GETTEXT,(WPARAM)1024,(LPARAM)text); // 这个可以
AfxMessageBox(text);
_tcscpy(text, L"123");
::SendMessage(editWnd,WM_SETTEXT,(WPARAM)_tcslen(text),(LPARAM)text); // 这个可以
}
else
{
AfxMessageBox(L"没有找到记事本内容窗口");
}