3

編集:これは以前はより明確なタイトルでした: - " Windows XP の起動時に Kontiki の KHOST.EXE が自動的に読み込まれないようにするための最良の解決策は? "

基本的に、40Dアプリケーションが実行されるたびに、 Windows で自動的に起動するようにkhost.exeがセットアップされます。起動時間が数分長くなるし、4OD の P2P 機能すら使っていないので、これは面倒です。

設定されているレジストリ キーは次のとおりです。

Command: C:\Program Files\Kontiki\KHost.exe -all
Description: kdx
Location: HKU\S-1-5-21-1757981266-1960408961-839522115-1003\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Name: kdx
Setting ID:
User: LAPTOP\Me

Command: "C:\Program Files\Kontiki\KHost.exe" -all
Description: 4oD
Location: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Name: 4oD
Setting ID:
User: All Users

これらのレジストリ キーを削除するための何らかの起動またはシャットダウン スクリプトが最適な解決策であると想定していますが、 .vbs.batスクリプト、またはそれらを自動的に実行する場所については詳しくありません。適切な時間に。

TV On-Demand Monitor アプリケーションがあることは知っていますが、別のプロセスを実行する必要はありません。上記で説明したレジストリ キーを削除するだけで済みます。

4

5 に答える 5

2

私が最終的にやったこと:

1)タスクトレイから40Dを右クリックして終了し、Khost.exeプロセスを終了させました。

2) [スタート] > [すべてのプログラム] > [管理ツール] > [サービス] を開き、KServiceを停止してから、[スタートアップの種類] を [手動] に設定します。

3)次の内容でShutdownScript.vbsを作成しました。

Set SH = CreateObject("WScript.Shell")

RemoveRegKey "HKU\S-1-5-21-1757981266-1960408961-839522115-1003\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\kdx"
RemoveRegKey "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\kdx"
RemoveRegKey "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\4oD"

Shutdown

Set Shell = Nothing
Set SH = Nothing
WScript.Quit

Sub RemoveRegKey(sKey)
    On Error Resume Next
    SH.RegDelete sKey
End Sub

Sub Shutdown()
    SH.Run "shutdown -s -t 1", 0, TRUE
End Sub

4)スクリプトへのショートカット[スタート] メニューに配置し、それを使用して PC をシャットダウンします。

これで 40D は必要なときに動作するようになりました。あとは、 40Dを終了してスクリプトを使用してシャットダウンし、PC を起動するたびに自動起動するのを停止するだけです。

ご協力いただきありがとうございます。:)

于 2008-09-21T16:48:32.790 に答える
1

実行可能ファイルを別の名前にコピーして、何もしない exe をその場所に配置してみませんか。次に、ショートカットを、コピーして名前を変更した EXE に変更します。プログラムがその名前に敏感な場合は、ショートカットを VBS ファイルにポイントして、一時的に EXE ファイルの名前を変更します。

于 2008-09-21T14:36:35.417 に答える
1

vb スクリプトの場合、次のようなものを使用します。

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
'repeat the line below for each key to delete 
WSHShell.RegDelete "[Location of Key]"

コードをテキスト ファイルにドロップし、shutdown,vbs のように名前を変更するだけです。

いつ実行するかについては、企業環境にいる場合は、グループ ポリシーを使用して、マシンのシャットダウン スクリプトとして設定できます。または、手動で追加する方法については、こちらのページを参照してください

于 2008-09-21T14:37:49.003 に答える
1

別の方法:

プログラムを実行し、レジストリ キーを削除する VBS ファイルを作成します。

Set objShell = CreateObject("WScript.Shell") 

objShell.Exec("C:\Program Files\Kontiki\KHost.exe")

strRoot = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\4oD" 
strDelete = objShell.RegDelete(strRoot) 
...

そして、ショートカットをそこに向けます。

于 2008-09-21T14:43:22.063 に答える
1

AutoIt ( http://www.autoitscript.com/autoit3/ ) を試してみることをお勧めします。これは、Windows GUI と一般的なスクリプトを自動化するために設計されたフリーウェアのスクリプト言語です。

それを使用することを選択した場合、必要な AutoIt コードは 2 行になります。

RegDelete("YourKey", "YourValue");
ShutDown(1);

また、任意のコンピューターで実行できるスタンドアロンの exe にコンパイルできます (ランタイム ライブラリは必要ありません)。

于 2008-09-21T15:16:23.247 に答える