0

レジストリ エントリを使用して、Windows のスタートアップに「itManager」というプログラムを追加したいと考えています。そのため、件名に関する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 は起動されません。実際、Windowsはプログラムを開始しますが、必要なディレクトリからではなく、ソフトウェアをすぐに終了させると思います(itManager.exeがC:\ Program Files\itManager\bin\から起動されない場合、失敗しました)。

そして、何が起こっているのかを理解するためにどこを見るべきかわかりません... Windowsログを試しましたが、成功しませんでした。

したがって、これをデバッグする方法がわかりません。

ありがとう、

4

3 に答える 3

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 拡張子で保存します。レジストリ エントリでこの最後のファイルを実行します。

于 2012-11-19T15:05:45.343 に答える
0

私がお勧めするのは、スタートアップ フォルダーに itmanager.exe へのショートカットを作成することです。

[スタート] メニューに [スタートアップ] グループが表示されます。右クリック -> 開きます (すべてのユーザーに対してプログラムを起動する場合は、[すべてのユーザーを開く])。Itmanager.exe へのショートカットを作成します。ショートカット プロパティを編集して、開始ディレクトリを設定できます。

于 2012-11-19T15:11:17.823 に答える