0

VB アプリで奇妙な問題が発生し、非常に混乱しました。既存のプログラムを更新しています。いくつかの処理キュー機能を追加する必要がありました。私のシステムでは、単体テストはうまく機能しましたが、コンパイルして別のコンピューター (ネットワーク サーバー コンピューター) で実行すると、最初に Office インストールを開こうとします。これをキャンセルすると、プログラムは正常に動作するようです。問題は、このプログラムがバックグラウンドで実行され、実行するたびにキャンセルを押すことができないことです。

だから私の質問はこれです:ここで何が起こっているのですか?私は通常、Eclipse を使用する Java 開発者なので、必要なすべてのライブラリを jar ファイルに自動的に含めることができることに慣れています。VB6の場合はそうではないようです。すべてのシステムに同じライブラリが存在することを期待しているようです。何がこれを引き起こしているのかを知る方法はありますか?

私が考えられる唯一のことは、kernal32 ライブラリで「OpenProcess」関数を使用していることです。それは私が行った唯一の大きな変更です。

どんな助けでも非常に適用されます。ありがとう!

編集: Word の複数のバージョンがシステムにインストールされていて、何らかの形で問題が発生していたようです。1つをアンインストールし、修正しました。

4

1 に答える 1

1

少し前にこれに遭遇しましたが、これは VB6 アプリのインストーラーが Office の本来あるべきではないシステム ファイルを上書きすることに関連していました。システム dll の 1 つにアクセスするたびに、Windows は何か問題があると判断し、Office インストーラーを起動します。

短期的な修正は、Office インストーラーが壊れた dll チェーンを修復できるようにすることでした。

長期的な修正は、組み込みの Windows システム dll を決して上書きしないことでした。

Microsoft Fix it Centerも参照してください。

于 2013-09-13T16:56:47.903 に答える