首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

WebBrowser中(内核为IE7),向网页中填写内容时的有关问题

2012-02-13 
WebBrowser中(内核为IE7),向网页中填写内容时的问题问题:用同一种方法,向非file类似的页面元素填写内容是

WebBrowser中(内核为IE7),向网页中填写内容时的问题
问题:用同一种方法,向非file类似的页面元素填写内容是可以的,但是向file类型的文件框中填写内容时就没效果.请问是为什么?(IE6中没问题,就只出在IE7中)
procedure   TfrmTest.Button2Click(Sender:   TObject);
var
    CurrentFile:string;
    BrowserHwnd:Integer;
    HtmlDoc:   IHTMLDocument2;
    o:   OleVariant;
    i:   Integer;
begin
    HtmlDoc   :=   IE.Document   as   IHTMLDocument2;
    if   not   VarIsClear(HtmlDoc)   then     begin
        //以下向年龄框中填写24,成功
        o   :=   Htmldoc.all.item( '年龄 ',0);   //captchaRequest
        CurrentFile   :=   '24 ';
        for   i:=1   to   Length(CurrentFile)   do   begin
            o.focus;
            BrowserHwnd   :=   GetWindow(IE.Handle,GW_CHILD);
            SendMessage(GetWindow(BrowserHwnd,GW_CHILD),WM_CHAR,ord(CurrentFile[i]),$00200001);
        end;
        //以下向网页中Input类型的File框中填写文件名,失败
        o   :=   Htmldoc.all.item( 'file ',0);
        CurrentFile   :=   'd:\12323.txt ';
        for   i:=1   to   Length(CurrentFile)   do   begin
            o.focus;
            BrowserHwnd   :=   GetWindow(IE.Handle,GW_CHILD);
            SendMessage(GetWindow(BrowserHwnd,GW_CHILD),WM_CHAR,ord(CurrentFile[i]),$00200001);
        end;
    end;
end;

[解决办法]
用SendInput吧
IE7的网页是在Tab下面,不是在主窗口
[解决办法]
IE7的安全性提高了,不允许直接向file类型的文件框中填写内容

热点排行