C#:如何设置mshtml.HTMLInputFileElement的值

时间:2010-07-22 19:11:56

标签: c# internet-explorer html-form mshtml

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

首先我尝试了这个:

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

但是没有设定价值。然后我在另一个论坛上读到了value属性无法直接设置,但可以通过将焦点放在该输入元素上然后使用SendKeys将值发送到文件元素来设置:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

我认为SendKeys hack在IE8和Firefox 2中打了补丁。