Delphi中Chrome Chromium、Cef3学习笔记(五)

摘要:
mouse_事件;//模拟释放鼠标左键。keybd_事件;//按下R键。keybd_事件;//松开SHIFT键。
原文   http://blog.csdn.net/xtfnpgy/article/details/48489489
 

一、模拟移动鼠标

//  SetCursorPos(StrToInt(Edit1.Text),StrToInt(Edit2.Text));  //相对屏幕位置
  SetCursorPos(Self.Left+chrm1.Left+strtoint(Edit1.Text),Self.Top+chrm1.Top+strtoint(Edit2.Text));  //相对Chrm位置

       mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟按下鼠标左键。

  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟放开鼠标左键。


  keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0); //按下SHIFT键。
  keybd_event(0x52,MapVirtualKey(0x52,0),0,0);//按下R键。
  keybd_event(0x52,MapVirtualKey(0x52,0),KEYEVENTF_KEYUP,0);//放开R键。
  keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0);//放开SHIFT键。

二、Chromiume控件指定坐标点击

  SendMessage(GetWindow(GetWindow(form1.chrm1.Handle, GW_CHILD), GW_CHILD),WM_LBUTTONDOWN,MK_LBUTTON, MAKELONG(StrToIntDef(Edit1.Text,100),StrToIntDef(Edit2.Text,100))); 

  SendMessage(GetWindow(GetWindow(form1.chrm1.Handle, GW_CHILD), GW_CHILD),WM_LBUTTONUP,MK_LBUTTON, MAKELONG(StrToIntDef(Edit1.Text,100),StrToIntDef(Edit2.Text,100)));

MK_LBUTTON可以改为0,MAKELONG可以改为MAKELParam

三、JS控制滚动条的位置:
window.scrollTo(x,y);

竖向滚动条置顶(window.scrollTo(0,0);
竖向滚动条置底 window.scrollTo(0,document.body.scrollHeight)

四、设置代理ip

ceflib.pas单元:

uses iniFiles;

  procedure TInternalApp.OnBeforeCommandLineProcessing(const processType: ustring;       const commandLine: ICefCommandLine);   var     ini : TIniFile;     str_ip : string;   begin     ini := TIniFile.Create(StringReplace(ParamStr(0),'.exe','.ini',[]);     str_ip := ini.ReadString('default','ProxyIP','')     ini.Free;     commandLine.AppendSwitchWithValue(str_ip);     if Assigned(CefOnBeforeCommandLineProcessing) then       CefOnBeforeCommandLineProcessing(processType, commandLine);   end;

免责声明:文章转载自《Delphi中Chrome Chromium、Cef3学习笔记(五)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇广东电信公话业务中CRM系统的研究与探索迁移与裁剪linux系统下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Delphi 回调函数

不是原创,原文链接: https://blog.csdn.net/u014028956/article/details/46810537 1、首先要声明一个类型;         type  TProc = procedure(str:string) of object;     //这里的of object 一定要,不然会出错,也可能是有些方法自己不知道...

Delphi RadioGroup 组件基本用法

1. RadioGroup的主要属性 (1) Columns:属性 属性 Columns:用于设置单选按钮组中按钮的列数。范围1~16默认值为1。 设置方法很简单,充分提现了Delphi的强大功能和方便,只要设置RadioGroup组件的Columns列属性为1就是竖向显示,为2就是横向显示。也就是说你的Items有几个就设置几列,如下图: (2)...

Delphi自写组件:可设置颜色的按钮(改成BS_OWNERDRAW风格,然后CN_DRAWITEM)

unit ColorButton; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, StdCtrls; type TColorButton = class(TButton) private //添加Color属性,默...

delphi的构造函数和析构函数

delphi的构造函数的定义是:constructor create;delphi的析构函数的定义是:destructor destroy;析构函数是不能重载的,但是构造函数是可以重载的。构造函数在重载的时候要在后面加“overload”,例如:constructor create;overload;constructor create(i:integer...

以Delphi Package架构的应用程序开发

■印象中的Package 在一般的AP开发时,我们知道在Delphi7.0整合环境中将Project->Options->选到Packages卷标页,Builder with runtime packages选项打勾,就会让编译出来的执行文件Size变小很多(以空白的Form1为例,编译出来的Size由367kb变成20kb),因为它把一些VC...

Delphi指针的定义和取值

效果图如下: 要点: 1.指针的2中定义方法 PInteger 和 ^Integer 2.取地址符号 @ 和 Addr函数 3.取内容符号 ^ ,比如MyPointInt1^则是取MyPointInt1指针所指向的内容了。 program MyPoint; //指针详解 {$APPTYPE CONSOLE} usesSysUtils,windows,G...