摘要: 如果是用新窗体打开,而不是用IE打开,简单一点:(From MSDN)1234567891011procedureTForm1.WebBrowser1NewWindow2(Sender: TObject;varppDisp: IDispatch; varCancel: WordBool);varfrmWB:TForm1;beginfrmWB := TForm1.Create(Application);//注意,这里Self和Application、nil结果不同...frmWB.WebBrowser1.RegisterAsBrowser := TRUE;ppDisp := frmWB.WebB 阅读全文
posted @ 2013-12-29 16:16 孤舟残月浅笑嫣然 阅读(227) 评论(0) 推荐(0) 编辑
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(... 阅读全文
posted @ 2013-12-29 16:11 孤舟残月浅笑嫣然 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 首先申明:我是菜鸟,我只不过想把困绕了我很长时间的问题的解决方案发表出来,免得以后我又忘记,同时给还不知道这些小知识的同僚一些帮助。各位不要笑我的浅薄。同时为了表示我的低级,我会很罗嗦的讲一些基本的东西,这些都是我的理解,很不准确。 用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是回调函数。我的理解是这样的:回调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows操作系统,比如其他的程序等等之类的。但是什么时候被调用却不知道了。回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以. 阅读全文
posted @ 2013-12-29 15:42 孤舟残月浅笑嫣然 阅读(263) 评论(0) 推荐(0) 编辑
摘要: SendMessage基础知识函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。 Msg:指 阅读全文
posted @ 2013-12-29 14:52 孤舟残月浅笑嫣然 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 找另外一个窗口的句柄: handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄查找子窗体:childHandle := FindWindowEx(handle,0,'子窗体类','子窗体标题');另外有个枚举子窗体的API,EnumChildWindows(主创体句柄,@回调函数,用户参数);用这个函数需要自己写一个回调的函数,比如:function EnumChildProc(ahWND:HWND; param:LPARAM):boolean; stdcall;sendmessage(handle,m 阅读全文
posted @ 2013-12-29 14:49 孤舟残月浅笑嫣然 阅读(1545) 评论(0) 推荐(0) 编辑