0

私は現在、mshtml.HTMLInputFileElement を使用して、HTML ドキュメントで「ファイル」タイプの入力要素の値を設定できるようにする必要があるプロジェクトに取り組んでいます。私はこれを行うのに非常に苦労しています。

最初にこれを試しました:

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

しかし、値は設定されていませんでした。次に、別のフォーラムで、値のプロパティを直接設定することはできませんが、その入力要素にフォーカスを与え、SendKeys を使用して次のように値をファイル要素に送信することで設定できることを読みました。

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

これも失敗し、フィールドが書き込み可能ではないという COM 例外をスローしました。

HTMLInputFileElement の値フィールドを設定する方法はありますか?

4

1 に答える 1

1

いいえ、理由については、お気に入りの検索エンジンで「ブラウザ ファイル入力盗用」を検索してください。

SendKeys ハックは IE8 と Firefox 2 で修正されたと思います。

于 2010-08-11T17:43:26.253 に答える