编辑:以前更明确地标题为: - “阻止Kontiki的KHOST.EXE在Windows XP启动时自动加载的最佳解决方案?”
基本上,每当运行 40D 应用程序时,它都会设置 khost.exe 以自动启动Windows。这很烦人,因为它将我的启动时间增加了几分钟,我甚至都没有使用40D的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 application ,但我真的不需要再运行另一个进程,我只需删除上面描述的注册表项。
答案 0 :(得分: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 将在我需要它时工作,而我所要做的就是退出它并使用脚本关闭以在每次启动PC时停止自动启动。
感谢所有人对此的帮助! :)强>
答案 1 :(得分:1)
为什么不将可执行文件复制到其他名称,并在其位置放置do-nothing exe。然后将快捷方式更改为复制并重命名的EXE。如果程序对其名称敏感,则将快捷方式指向VBS文件以临时重命名EXE文件。
答案 2 :(得分: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。
至于何时运行它,如果您在公司环境中,则可以使用组策略并将其设置为计算机关闭脚本。或者,请参阅此页here关于手动添加
答案 3 :(得分: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)
...
然后指出你的捷径。
答案 4 :(得分:1)
我是否应该建议你尝试使用AutoIt(http://www.autoitscript.com/autoit3/),这是一种免费的脚本语言,用于自动化Windows GUI和一般脚本。
如果您选择使用它,您需要的AutoIt代码将是2行:
RegDelete("YourKey", "YourValue");
ShutDown(1);
您可以将其编译为可在任何计算机上运行的独立exe(无需运行时库)