使用EM_REPLACESEL消息发送字符串时,确实无法直接插入回车换行符。这是因为EM_REPLACESEL消息是用于替换当前选定文本的,而不是插入新的文本。

要插入回车换行符,可以使用EM_SETSEL消息将光标移动到要插入的位置,然后使用EM_REPLACESEL消息插入一个带有回车换行符的空字符串。

下面是一个示例代码,演示如何使用SendMessage函数插入回车换行符:

#include <Windows.h>

int main()
{
    // 获取当前窗口句柄
    HWND hwnd = GetForegroundWindow();

    // 将光标移动到当前位置
    SendMessage(hwnd, EM_SETSEL, -1, -1);

    // 插入回车换行符
    SendMessage(hwnd, EM_REPLACESEL, TRUE, (LPARAM)L"\r\n");

    return 0;
}

这段代码将在当前活动窗口的光标位置插入一个回车换行符。

请注意,此示例代码是使用C++编写的,需要包含Windows.h头文件,并且需要在Windows环境中编译和运行。如果您在其他环境中使用不同的编程语言,请相应地调整代码。

SendMessageEM_REPLACESEL字符串不能发送回车换行

原文地址: https://www.cveoy.top/t/topic/hQ8o 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录