0

Windows のスケジュールされたタスクを介して VB.NET アプリケーションにパラメーターを渡すのに苦労しています。これは、Visual Studio で完全に機能します (プロジェクト プロパティを介してコマンド ライン引数を渡します)。

VB6 アプリケーションを呼び出す場合は、次のパラメーターを指定すると機能します。

実行: c:\progra~1\Test\Test.exe TestParameter 開始: c:\progra~1\Test\

ただし、VB.NET で同じパラメーターを指定すると、プログラムは Form.Load でクラスのインスタンスを作成しようとすると例外をスローします。System.NullReferenceException はオブジェクトのインスタンスを作成できません。

私も次のことを試しました:

実行: c:\program files\Test\Test.exe TestParameter 開始: "c:\program files\Test\"

今度はスケジュールされたタスクのステータスが「開始できません」に変わります。

VB.NET プログラムのスケジュールされたタスクでコマンド ライン パラメータを指定する正しい方法は何ですか?

更新 この Web ページで解決策を見つけました: http://forum.codecall.net/topic/47568-reading-command-line-arguments-in-vbnet/。8 ビット パス (つまり、progra~1) を使用したときに、プログラムがオブジェクトのインスタンスを作成しない理由について、私はまだ混乱しています。

4

1 に答える 1

0

null 参照例外が発生しているコンストラクター (または Form_Load イベント) のコードを確認したいと思います。progra~1 と「プログラム ファイル」の違いは、そこに何があるかによって異なる場合があります。

于 2012-05-30T17:27:55.200 に答える