c#仅向表单发送按键

时间:2016-02-07 10:36:20

标签: c# visual-studio webbrowser-control

所以我有一个带有webbrowser的表单。它需要将一些文本放入文本字​​段输入中,然后必须按Enter键才能发送文本。但我得到的问题是,当我正在做其他事情时,它试图按下我正在使用的程序中的输入。

webBrowser1.Document.GetElementById("chatMessage").SetAttribute("Test");
webBrowser1.Select();
webBrowser1.Document.GetElementById("chatMessage").Focus();
System.Windows.Forms.SendKeys.SendWait("{ENTER}");

关于我应该使用什么的任何想法?

这是html代码。

<form id="chatForm">
   <div style="margin:5px">        
        <div class="form-group" style="margin-bottom:5px">
           <input type="text" class="form-control" placeholder="Type here to chat..." id="chatMessage" maxlength="200" autocomplete="off">
        </div>                          

        <div class="pull-left">
           <strong>Users Online: <span id="isonline">0</span></strong>
        </div>

        <div class="checkbox pull-right" style="margin:0px">
           <label class="noselect">
           <input type="checkbox" id="scroll">
           <strong>Pause chat</strong>
           </label>
        </div>

        <br>

        <div class="pull-left">
           <a href="#" data-toggle="modal" data-target="#chatRules">Chat Rules</a>
        </div>

    </div>

</form>

2 个答案:

答案 0 :(得分:1)

我认为这是不可能的。我能想到的只是将您的应用程序重点关注,发送密钥并跳回原来的位置。但这会产生很多错误,至少会在一瞬间打扰你,以至于你不会对它感到满意。您是否没有机会直接发送数据/消息而不是模拟键盘输入?

答案 1 :(得分:-2)

检查钥匙钩

C# : Keyboard Hook