2011-07-28 20 views
0

VBScriptの問題です。ここでバックグラウンドでアプリケーションを実行します。

は、作業コード

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files\TrueCrypt\TrueCrypt.exe""", 0 , false 

ですこれは完全にバックグラウンドでのTrueCryptを実行しますが、コードは非常に不安定です。私がitunesのための道を代用すれば、wmplayerは失敗する。

コードは完全にすべてのタイプのプログラムを隠すことができますか?

答えて

0

詳しい説明はhereです。

+0

私はリンクを読んでいますが、それはルートキットrevealerの周りを回って、私の場合にも簡単な例を投稿することができます。私はこれについてかなりのn00bです。 – mrN

+0

Runメソッドの2番目の引数は、プログラムのウィンドウの外観を示す整数値です。すべてのプログラムがこの情報を利用するわけではないことに注意してください。 – Muse

1

.Runは、他のプロセス/プログラムを実行するためのコンソール( 'DOSボックス')を起動します。そのコンソールの表示モードを制御することができます(たとえば、SW_HIDE == 0をパラメーター2として渡すことで非表示にすることができます)。しかし、この他のプログラムが画面に対して行うことは、このプロセスまでです。 --headlessや/ noguiのような引数を静かに(必要で)実行し、適切なIPC(例えばCOM)インタフェースを提供する必要があります。だから、バックグラウンドで他のプログラムを始める方法は、 'すべての方法のための一つの戦略'で答えることはできません。 AFAIK、プレイヤーはCOM/OCXインターフェイスを提供し、これらを使用して確かにSendkeysのブードウを打つ。だからgoogleの "iTunes.Application vbscript"または "Wmplayer.OCX。"これらのCOMオブジェクトの使用方法に関するヒントを得ることができます。

0

シェル実行メソッドを使用する代わりに、WMI Win32_ProcessプロバイダーのCreateメソッドを試すことができます。
this MSDN pageの例では、GUI実行可能ファイルNOTEPAD.EXEのプロセスオプションShowWindowをSW_NORMAL(つまり1)に設定する設定オブジェクトを作成します。
this pageには、SW_HIDE(値0)もオプションであるようです。

関連する問題