3

この質問の基礎は、support.microsoft.com のこのチュートリアルから来ています: http://support.microsoft.com/kb/176792

To run the following code, it is necessary to add a reference to
"Microsoft Internet Controls" (Shdocvw.dll) and "Microsoft HTML Object
Library" (Mshtml.dll) to the Visual Basic project:
Dim SWs As New SHDocVw.ShellWindows 
Dim IE As SHDocVw.InternetExplorer

これは Visual Studio 2010 では問題なく動作しますが、直接のコマンドライン vbc コンパイラを使用して複製できない舞台裏の魔法に依存しているようです。

明らかに、コマンドライン コンパイラの [参照の追加] ダイアログはありません。私は素朴に追加しようとしました:

/参照:"C:\windows\system32\shdocvw.dll"

コマンドラインに追加しましたが、それは役に立ちませんでした。どちらの場合も、次のようになります。

エラー BC30002: タイプ 'SHDocVw.ShellWindows' が定義されていません。

エラー BC30002: タイプ 'SHDocVw.InternetExplorer' が定義されていません。

私は、vbscript や autohotkey などの他の言語から shdocvw.dll (別名 Shell.Application) を正常に使用しましたが、現在、VB.NET をほとんど理解していないため、間違っているのか、それとも不可能なのかを知ることができません。

4

1 に答える 1

2

最初にTlbimp.exeユーティリティを実行する必要があります。これは、shdocvw.dllに埋め込まれているタイプライブラリから相互運用ライブラリを生成するツールであり、通常、IDEで参照を追加すると自動的に実行されます。/referenceオプションで渡す必要のあるinterop.shdocvw.dllが生成されます。

于 2013-02-26T21:50:54.313 に答える