IE打开参照窗口传值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE打开参照窗口传值相关的知识,希望对你有一定的参考价值。

最近在做一个工具,其中有一部分是要在IE的参照栏中填上参照的本地文件路径,原来这部分是这样实现的:
With IE.document.frames(1).document
Do
AppActivate IE
.getelementById(BUTTON1).Focus

Dim clipboardtemp As String
clipboardtemp = IE.document.parentwindow.clipboardData.GetData("text")
IE.document.parentwindow.clipboardData.setData "text", CVar(FilePath)

SendKeys "^a^v"
Loop Until .getelementById(BUTTON1).Value <> ""

End With
后来发现这种方法只能在IE7用,IE8用不了。因为IE8的参照栏不能手动入力,所以就想通过点开参照按钮,向弹出的窗口内复制路径来处理,结果发现点开按钮弹出窗口后,不能实现复制操作,求解解决方法,下面是现在的代码:
With IE.document.frames(1).document
Dim clipboardtemp As String
clipboardtemp = IE.document.parentwindow.clipboardData.GetData("text")
IE.document.parentwindow.clipboardData.setData "text", CVar(FilePath)
Do
AppActivate IE
.getelementById(BUTTON1).Click

SendKeys "^v"
SendKeys "Enter"
Loop Until .getelementById(BUTTON1).Value <> ""

End With

或者说我现在取得了弹出窗口的句柄。怎么向这个弹出的窗口发送命令?求解?

你传的值可能被IE窗口拦截了,IE处理过后才发送给前台的弹出窗口,不能简单的SENDKEY。 参考技术A 这里懂源代码的大神,太罕见了,你可以找一些专业讨论计算机知识的论坛请教,在这还是别费劲了。 参考技术B 同意楼下的

多窗体窗体传值打开唯一窗体操作

一、打开多子窗口

 在控件中实例化要打开的窗体,再调方法show

例:在按钮中打开f2窗体

form2 f2=new form2()

f2.show()

二、构造函数传值

1、在实例化中添加参数,展示信息类型,打开窗体类型

2、要打开窗体中构造函数接受

三、打开窗口唯一

1、实例化要打开窗口,并放到类型集合中

2、判断窗口是否在集合中,不在打开

3、构造函数传父级窗口

4、子级窗口关闭时调删除集合中子级窗口方法

例:

 

以上是关于IE打开参照窗口传值的主要内容,如果未能解决你的问题,请参考以下文章

iframe如何传值给父iframe

intent传值传对象跳转

10月19日--传值传址结构体

传值传引用

传值传址结构体

visual c++ 中 怎样把子窗口传值到父窗口?