写一个程序实现以下功能获取当前正在打开的 A 程序的右边控件B内的文字 b控件是web浏览控件 但是只读 无法利用Ctrl+A 选择更无法利用Ctrl+c 复制 b 控件内的鼠标右键菜单被重新定义了也无法利用这一点获取。现有思路:屏幕取词 存在问题(某些页面太长需要拖动滚动条)希望各位高人指点迷津
解决方案 »
- 新手问下关于多线程在主窗口怎么调用?
- 关于数据库更新问题 急~~
- 请问在用fastreport时,如何根据Memo的字段长度动态更改MasterData的高度?
- 开发ERP,系统设置模块的问题?
- 请教intallshield 7.0的东方语言包如何装
- 在DBGRID中,用‘下’键移到到最后一条记录时的问题
- 我是菜鸟: ReportBuilder 中明细记录的序号怎么加?
- 请问这样一个问题,多窗体共一个数据表文件
- 再次提问 请帮帮忙 好吗???
- 见到的Delphi程序员不进来,你就是刚入门的,我现在怀凝是不是这个问题你们都回答不出呢,我去。
- 请问网络硬盘实现原理--------急切!!!!
- 在delphi中这些嵌入式sql语句该如何写呢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ActiveX, StdCtrls, OleCtrls, SHDocVw,ComObj, ExtCtrls;type
TForm1 = class(TForm)
WB1: TWebBrowser;
Panel1: TPanel;
Button1: TButton;
UrlText: TEdit;
ListUrl: TEdit;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
Splitter1: TSplitter;
procedure Button1Click(Sender: TObject);
procedure WB1DocumentComplete(Sender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; IPersistStream = interface(IPersist)
['{00000109-0000-0000-C000-000000000046}']
function IsDirty: HResult; stdcall;
function Load(const stm: IStream): HResult; stdcall;
// 从流中载入
function Save(const stm: IStream;
fClearDirty: BOOL): HResult; stdcall;
// 保存到流
function GetSizeMax(out cbSize: Largeint):HResult; stdcall; // 取得保存所需空间大小
end;
IPersistStreamInit = interface(IPersistStream)
['{7FD52380-4E07-101B-AE2D-08002B2EC713}']
function InitNew: HResult; stdcall; // 初始化
end;
function GetHtml(const WebBrowser:TWebBrowser): string;
procedure ShowBlankPage(WebBrowser: TWebBrowser);
var
Form1: TForm1;implementation{$R *.dfm}
function GetHtml(const WebBrowser:TWebBrowser): string;
const BufSize = $10000;
var
Size: Int64;
Stream: IStream;
hHTMLText: HGLOBAL;
psi: IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then Exit;
OleCheck(WebBrowser.Document.QueryInterface(IPersistStreamInit, psi));
try
//OleCheck(psi.GetSizeMax(Size));
hHTMLText := GlobalAlloc(GPTR, BufSize);
if 0 = hHTMLText then RaiseLastWin32Error;
OleCheck(CreateStreamOnHGlobal(hHTMLText,True, Stream));
try
OleCheck(psi.Save(Stream, False));
Size := StrLen(PChar(hHTMLText));
SetLength(Result, Size);
CopyMemory(PChar(Result), Pointer(hHTMLText),Size);
finally
Stream := nil;
end;
finally
psi := nil;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
WB1.Navigate(urltext.text);
end;procedure TForm1.WB1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
p:Ansistring;
begin
p:=WB1.LocationURL;
listurl.text:=p;
Memo1.Clear;
Memo1.text:=GetHtml(Wb1);
end;procedure ShowBlankPage(WebBrowser: TWebBrowser);
var
URL: OleVariant;
begin
URL := 'about:blank';
WebBrowser.Navigate2(URL);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowBlankPage(Wb1);
end;end.
这是一个可以获得html代码的例子,剩下的,你想干吗就干吗,,