2012-11-19 15 views
0

我想使用註冊表項向Windows啓動中添加一個名爲「itManager」的程序。所以我已經將所需的密鑰添加到Windows註冊表中,就像在Stackoverflow主題上討論的那樣。 這裏是一個轉儲:Windows在啓動時不啓動我的軟件

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"BCSSync"="\"C:\\Program Files\\Microsoft Office\\Office14\\BCSSync.exe\" /DelayServices" 
"itManager"="C:\\Program Files\\itManager\\bin\\itManager.exe" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\itManager.exe] 
"Path"="C:\\Program Files\\itManager\\bin" 
@="C:\\Program Files\\itManager\\bin\\itManager.exe" 

但我itManager.exe不lauched。事實上,我猜Windows啓動程序,但不是從所需的目錄導致軟件立即退出(如果itManager.exe不是從C:\ Program Files \ itManager \ bin \啓動,則失敗)。

而且我不知道在哪裏看明白怎麼回事...... 我曾嘗試Windows日誌,但沒有成功。

所以我不知道如何調試。

感謝,

+0

請注意,您沒有在命令行中引用空格。 –

回答

2

如果你的猜測是正確的,你可以嘗試通過批處理文件(.bat)啓動它。

創建一個文本編輯器,一個新的文件,將其命名itManager.bat。 編輯這樣說:

echo off 
cd C:\Program Files\itManager\bin\ 
itManager.exe 

現在在啓動,而不是你的.exe推出這個文件,它會從正確的文件夾執行.exe文件。

我不知道是否有通過註冊表從不同的文件夾運行程序的更清潔的方式,但這應該工作。


編輯:我認爲隱藏飛濺的控制檯窗口的唯一方法是通過腳本啓動批處理腳本。

再次,在文本編輯器,將這些行:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\yourPath\yourBatchName.bat" & Chr(34), 0 
Set WshShell = Nothing 

與.VBS擴展名保存。現在在註冊表項中運行最後一個文件。

+0

我覺得它有點骯髒,但如果我找不到解決方案,我會這樣做:) – zeraDev

+1

+1好主意,你可以逃避使用'cmd/c cd C:\ Program Files \ itManager \ bin && itmanager.exe'作爲reg條目,以節省必須寫入批處理文件。 –

+0

@BaliC我不知道這種可能性,它可能是乾淨多了:) – LittleSweetSeas

0

我會建議在啓動文件夾中創建itmanager.exe的快捷方式。

你會在Start菜單中找到Startup組右鍵單擊 - > open(打開所有用戶,如果你想讓程序爲所有用戶啓動)它並創建一個到Itmanager.exe的快捷方式,你可以編輯快捷方式屬性到設置起始目錄

+0

是的,我有一個itUploader.exe啓動這樣,但我不想我的itManager輕鬆刪除由清理他的啓動文件夾的用戶 – zeraDev