0

我目前正在开发一个项目,该项目需要能够使用 mshtml.HTMLInputFileElement 在 HTML 文档中设置“文件”类型的输入元素的值。我在做这件事时遇到了很大的困难。

首先我尝试了这个:

IHTMLInputFileElement element = (IHTMLInputFileElement)args[0];
string filename 
element.value = newFileName;

但是没有设置值。然后我在另一个论坛上读到 value 属性不能直接设置,但可以通过将焦点赋予该输入元素然后使用 SendKeys 将值发送到文件元素来设置,如下所示:

HTMLInputElement writableFileElement = (HTMLInputElement)element;
writableFileElement.focus();
SendKeys.SendWait(newFileName);

这也失败了,并抛出了一个 COM 异常,指出该字段不可写。

有没有办法设置 HTMLInputFileElement 的值字段?

4

1 回答 1

1

不,在您最喜欢的搜索引擎中搜索“浏览器文件输入窃取”的原因。

我认为,SendKeys hack 已在 IE8 和 Firefox 2 中进行了修补。

于 2010-08-11T17:43:26.253 回答