0

Windows の起動時にアプリケーションを起動する必要があります。そのため、アプリケーションを実行するためのバッチ ファイルを作成しました。

これは、レジストリにバッチ ファイル パス エントリを書き込むためのコードです。

private void RegisterInStartup(bool isChecked)
{
    RegistryKey registryKey = Registry.CurrentUser.OpenSubKey
            ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    if (isChecked)
    {
        registryKey.SetValue("ApplicationName", Application.StartupPath+"\\autorun.bat");
    }
    else
    {
        registryKey.DeleteValue("ApplicationName");
    }
}

これが私のバッチファイルコードです。

start File.exe
exit

システムを再起動すると、バッチ ファイルは実行されますが、アプリケーション File.exe は実行されません。

なぜこれが起こるのですか?

4

2 に答える 2

1

バッチ ファイルは、それが存在するディレクトリから開始されません。したがって、File.exe は見つかりません。バッチを exe に置き換えるか、exe へのフル パスも指定します。

于 2012-07-28T14:30:29.333 に答える
0
  1. バッチ ファイルを手動でテストします。クリックして。アプリケーションは起動しますか?
  2. レジストリに手動でパスを入力します。レジストリ キーは機能しますか?
  3. レジストリ キーをファイルにエクスポートします。レジストリを削除し、プログラムに再度追加してエクスポートし、2 つのファイルを比較します。1 と 2 が機能している場合、レジストリ キーに違いがあるはずです。この方法で違いを見つけることができます。
于 2012-07-28T14:16:24.320 に答える