var inputs = selection.GetElementsByTagName("input").Select(p => p as Gecko.DOM.GeckoInputElement).Where(p => p.GetAttribute("placeholder") == "Stake");
foreach (var input in inputs)
{
var curInput = input as Gecko.DOM.GeckoInputElement; //curInput.SetAttribute("value", bet.BetAmount.ToString("0"));
#region
DomEventArgs ev = myGeckoWebBrowser.Document.CreateEvent("KeyEvents");
var webEvent = new Event(myGeckoWebBrowser.Window.DomWindow, ev.DomEvent as nsISupports);
//add focus event
webEvent.InitEvent("focus", true, false);
curInput.GetEventTarget().DispatchEvent(ev);
//.46
//0-9 48~57
//add keypress event
var nsIEventVar = ((nsIDOMKeyEvent)ev.DomEvent);
char[] amountChars = bet.BetAmount.ToString().ToCharArray();
foreach (var vchar in amountChars)
{
int keyCode = CommonHelper.ToKeyValue(vchar);
nsIEventVar.InitKeyEvent(new nsAString("keypress"), true, false, myGeckoWebBrowser.Window.DomWindow, false, false, false, false, (uint)keyCode, (uint)keyCode);
Xpcom.QueryInterface<nsIDOMEventTarget>(curInput.DomObject).DispatchEvent(nsIEventVar);
}
//add blur event
webEvent.InitEvent("blur", true, false);
curInput.GetEventTarget().DispatchEvent(ev);
#endregion
Application.DoEvents();
isetAmount = true;
}

  

Geckofx 45 正确模拟键盘输入的事件绑定方法的更多相关文章

  1. VB模拟键盘输入的N种方法

    VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...

  2. 用Delphi模拟键盘输入

    在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入, ...

  3. 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示

    1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...

  4. SendInput模拟键盘输入的问题

    SendInput模拟键盘输入的问题  http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...

  5. Python模拟键盘输入和鼠标操作

    Python模拟键盘输入和鼠标操作 一.Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0)  #c ...

  6. 模拟键盘输入首先要用到一个API函数:keybd_event

    转自:http://www.cnblogs.com/cpcpc/archive/2011/02/22/2123055.html 模拟键盘输入首先要用到一个API函数:keybd_event. 模拟按键 ...

  7. 【转】C# winform 加载网页 模拟键盘输入自动接入访问网络

    [转]C# winform 加载网页 模拟键盘输入自动接入访问网络 声明: 本文原创,首发于博客园 http://www.cnblogs.com/EasyInvoice/p/6070563.html  ...

  8. C# keybd_event用法 模拟键盘输入

    最近有业务需求,需要模拟键盘输入,所以了解了一下C#中keybd_event函数的用法.该函数能够产生WM_KEYUP或WM_KEYDOWN消息,即可以触发键盘事件. 函数引用如下: [DllImpo ...

  9. VC 模拟键盘输入

    转载请注明来源:https://www.cnblogs.com/hookjc/ vc模拟键盘输入keybd_event(VK_LWIN, 0, 0 ,0);keybd_event('M', 0, 0 ...

随机推荐

  1. 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署

    最近在学习如何用 Docker 部署生产环境中的 ASP.NET Core 站点,作为一个 Docer 新手,从何处下手更容易入门呢?一开始就手写 Docker 配置文件(Docfile, docke ...

  2. python中的日志,logger用法

    python中自带logger模块,实现方法有两种,一般使用第二种,更灵活 方法一: import logging # 通过logging.basicConfig完成 logging.basicCon ...

  3. 洛谷试炼场-简单数学问题-P1045 麦森数-高精度快速幂

    洛谷试炼场-简单数学问题 B--P1045 麦森数 Description 形如2^P−1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果PP是个素数,2^P-1 不一定也是素数.到19 ...

  4. [No0000180]改善C#程序的建议8:避免锁定不恰当的同步对象

    在C#中让线程同步的另一种编码方式就是使用线程锁.所谓线程锁,就是锁住一个资源,使得应用程序只能在此刻有一个线程访问该资源.可以用下面这句不是那么贴切的话来理解线程锁的作用:锁,就是让多线程变成单线程 ...

  5. browse-agent type and curl post

    https://www.jb51.net/web/499127.html http://www.atool.org/useragent.php  query for type 用Curl测试POST ...

  6. iOS如何接收服务端返回的布尔值

    if ([user[@"chat"] boolValue]) { userModel.chat = ; }else { userModel.chat = ; } 关键是要调用boo ...

  7. 12.2RAC搭建记录

    12.2RAC环境搭建记录 安装前资源检查 资源限制要求/etc/security/limits.conf Table 6-1 Installation Owner Resource Limit Re ...

  8. gitee 使用

    gitee 使用 首先在码云仓库创建对应的仓库 当你输入错误用户名和密码 需要清掉配置 git config --system --unset credential.helper 设置账号 git c ...

  9. java 之程序中的http请求

    背景 java程序中有时需要我们发起http级别的请求,例如抓数据或者第三方对接时,一般分为两种:一种是只需我们发起请求,还有一种是我们不但要发起请求,还要拿到请求后的数据来进行下一步处理 实现 针对 ...

  10. wait()函数的详细分析

    之前一直没太深入的去理解wait()函数,今天机缘巧合之前又看了看,发现之前没有真正的理解该函数. 众所周知,wait()函数一般用在父进程中等待回收子进程的资源,而防止僵尸进程的产生. (In UN ...