C# 在光标位置插入文本

C# 在光标位置插入文本,c#,vba,C#,Vba,我需要在光标位置插入变量中的文本,无论它位于哪个窗口/程序中,因此每当C#或VBA(最好是C#)代码运行时,它都会从变量中写入文本 PD:im使用VoiceBot创建自定义脚本,C#默认脚本如下所示: using System; using System.Drawing; public static class VoiceBotScript { public static void Run(IntPtr windowHandle) { var myText = "This is a s

我需要在光标位置插入变量中的文本,无论它位于哪个窗口/程序中,因此每当C#或VBA(最好是C#)代码运行时,它都会从变量中写入文本

PD:im使用VoiceBot创建自定义脚本,C#默认脚本如下所示:

using System;
using System.Drawing;

public static class VoiceBotScript
{
public static void Run(IntPtr windowHandle)
{
    var myText = "This is a simple text";
    //how to add this text variable to cursor position? 
}
}
澄清:VoiceBot可以在语音命令上运行C#或Visual Basic脚本,编写脚本后将由语音触发。例如,当玩游戏并选择聊天时,我需要运行此脚本,以警告玩家X。

您可以使用此脚本模拟键盘并向当前活动的应用程序发送击键。例如:

SendKeys.Send("+This is a simple text");

请注意,在模拟键盘时,需要显式调用Shift键(使用
+
字符,如示例中所示)以获取大写字符。还有一些其他的注意事项,包括您必须转义的其他字符,因此不要在不首先处理它的情况下简单地向该方法提供一个用户提供的字符串。有关更多信息,请参阅。

System.Windows.Forms.SendKeys.Send(“+这是一个简单的文本”);而且似乎什么也没做。嗯,你确定调用该方法时目标应用程序处于活动状态(在前台)吗?当然,我在第一行的空白文档中用notepad++尝试过,不知道该说什么。我刚试过,效果很好。您必须确保应用程序正在运行消息泵并能够发送消息。这可能是VBA的交互性问题。您在哪个应用程序中尝试过它,例如,它在chrome中工作吗?