2011年5月7日
摘要: 如果是用新窗体打开,而不是用IE打开,简单一点:(From MSDN)view source print?01procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; 02var ppDisp: IDispatch; var Cancel: WordBool); 03var04frmWB:TForm1; 05begin06frmWB := TForm1.Create(Application);//注意,这里Self和Application、nil结果不同... 0708frmWB.WebBrowser1.RegisterAsBrowser 阅读全文
posted @ 2011-05-07 12:56 为人民服务 阅读(168) 评论(0) 推荐(0) 编辑
摘要: WebBrowser控件说明 方法 说明 GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 GoHome 相当于IE的“主页”按钮,连接用户默认的主页 GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面 Navigate 连接到指定的URL Refresh 刷新当前页面 Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表, 该表定义在ExDisp.h中,可以指定的不同值如下: REFRESH_NORMAL 执行简单的刷新,不将 阅读全文
posted @ 2011-05-07 12:51 为人民服务 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1、初始化和终止化(Initialization & Finalization) 大家在执行TWebBrowser的某个方法以进行期望的操作,如ExecWB等的时候可能都碰到过“试图激活未注册的丢失目标”或“OLE对象未注册”等错误,或者并没有出错但是得不到希望的结果,比如不能将选中的网页内容复制到剪贴板等。以前用它编程的时候,我发现ExecWB有时侯起作用但有时侯又不行,在Delphi生成的缺省工程主窗口上加入TWebBrowser,运行时并不会出现“OLE对象未注册”的错误。同样是一个偶然的机会,我才知道OLE对象需要初始化和终止化(懂得的东东实在太少了)。 我用我的前一篇文章《D 阅读全文
posted @ 2011-05-07 12:43 为人民服务 阅读(463) 评论(0) 推荐(0) 编辑
  2011年2月24日
摘要: SendMessage发送文本技巧精解,不容错过用发送文本控制外部控件内容,是程序员经常遇到的难题,第一个是句柄查找,具体请参考我的帖子,查找子窗口与枚举子窗口例程.第二个难题就是如何把文本发送出去.今天就第二个问题进行讲解第一种方法:post 该 方法没有返回值.版本 2.子程序 投递文本, , 公开, 向指定窗口句柄的窗口中发送文本内容(无返回值).参数 窗口句柄, 整数型, , 接收消息的窗口句柄.参数 文本内容, 文本型, , 发送的文本内容.局部变量 消息, 字节集.局部变量 长度, 整数型.局部变量 计次, 整数型消息 = 到字节集 (文本内容)长度 = 取字节集长度 (消息).计 阅读全文
posted @ 2011-02-24 16:43 为人民服务 阅读(185) 评论(0) 推荐(0) 编辑
摘要: IP Address Control =================== IPM_CLEARADDRESS 清除 IP 地址控件(IP Address control)的内容 IPM_GETADDRESS 从IP 地址控件 获得 存储在 它中的 IP 地址 信息/ IPM_ISBLANK 决定 IP 地址控件 是否可以为 空值。既 127.0.0.1 之类的地址 为 空。 IPM_SETADDRESS 在 IP 地址控件中设置 IP 地址。 IPM_SETFOCUS 在 IP 地址控件中,当需要输入 IP 地址时, 使之获得 键盘输入 焦点 IPM_SETRANGE 设置 输入IP 地址的 阅读全文
posted @ 2011-02-24 16:42 为人民服务 阅读(194) 评论(0) 推荐(0) 编辑
摘要: //////////////////////////////////////////////////////////////////////SendMessage(Button1.Handle, WM_LBUTTONDOWN,0, 0).不管用,我用它发送鼠标左健事件,看着Button1动了一下,焦点也移动到Button1上就是不执行Button1的Click事件如题再发送一个ButtomUP试试呀。SendMessage(Button1.Handle, WM_LBUTTONDOWN,0, 0). SendMessage(Button1.Handle, WM_LBUTTONUP,0, 0).S 阅读全文
posted @ 2011-02-24 16:37 为人民服务 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题:请教:如何模拟点击一个窗口的任意一个位置?这个窗口是外部程序的一个弹出对话框。 ( 积分:10, 回复:4, 阅读:72 )分类:Windows API ( 版主:amo, cAkk ) 来自:lkdbdlkq, 时间:2007-4-18 14:25:00, ID:3702107[显示:小字体 | 大字体] 这个窗口的句柄可以获得,只是窗口在整个屏幕的位置可能因为不同的显示器及而有所不同,我想模拟点击它上面的某一点(X,Y),如何入手呢?非常感谢。来自:Mclkings, 时间:2007-5-4 15:24:59, ID:3710358PostMessaeg 发送就可以了。来自:denny 阅读全文
posted @ 2011-02-24 16:28 为人民服务 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 没有WM_CLICK,我想你说的应该是WM_LBUTTONDOWN,这个就是当被鼠标左键点击时引发的消息;BM_CLICK是其他窗口发送给按钮控件的消息,让按钮执行点击操作,可以模拟按钮点击;BN_CLICK是当按钮被点击时,按钮控件发送给按钮控件的父窗口的,告诉父窗口我被点击了///////////////////////如果BUTTON太多的话,再把GetWindowText也加上,来判断哪一个是你想要的!!先用FindWindow找主窗口,再用GetDlgItem一级一级往下找子窗口,直到找到你想要的Button假设你的窗口的句柄是:hw 程序如下: var h1,h2,h3:Thand 阅读全文
posted @ 2011-02-24 16:23 为人民服务 阅读(522) 评论(0) 推荐(0) 编辑
摘要: Spy++原理初探(VB篇)(1) Spy++原理初探南京 宋陈三源代码下载用API函数,就会提到句柄,像SendMessage, GetWindowText等,最常用到的参数就是句柄。啥是句柄呢?就是窗口的锅把儿,你拎着它,整个锅儿都听你的话。那啥是窗口呢?不仅仅指我们常说的窗体Form,还包括所有控件,如文本框,按钮,复选框等等。这些句柄怎么获取呢?用Spy++呀。本文中,笔者就和您一起打造一个VB版的Spy++。(笔者以前写过一篇VC版的Spy++,得到了许多网友的关注,所以撰写此文,以飨VB战壕的朋友们。)一. 界面设计新建EXE工程,在窗体frmMain上画一个PictureBox( 阅读全文
posted @ 2011-02-24 16:21 为人民服务 阅读(263) 评论(0) 推荐(0) 编辑
  2011年2月13日
摘要: Delphi常用技巧 3 **********************************判断程序是否运行if FindWindow(主程序窗体类,主程序窗体标题) = 0 then //找到这个程序begin ShowMessage('主程序没有运行') ;Application.Terminate ;end;*******************************得到鼠标位置上的类procedure TForm1.Timer1Timer(Sender: TObject);varClassName: PChar;atCursor: TPoint;hWndMouseO 阅读全文
posted @ 2011-02-13 20:47 为人民服务 阅读(367) 评论(0) 推荐(0) 编辑