Joelがコメントに記載したように、まずサブキーを開いて値を設定する必要があります。私は、コマンドを渡したい場合にはAddToStartup
方法で
Public Sub AddToStartup(Optional appCommand As String = "")
Dim applicationName As String = Application.ProductName
Dim applicationPath As String = Application.ExecutablePath
Dim regKey As Microsoft.Win32.RegistryKey
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
regKey.SetValue(applicationName, """" & applicationPath & """" & appCommand)
regKey.Close()
End Sub
Public Sub RemoveFromStartup()
Dim applicationName As String = Application.ProductName
Dim regKey As Microsoft.Win32.RegistryKey
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
regKey.DeleteValue(applicationName, False)
regKey.Close()
End Sub
私はオプションのパラメータを使用する(すなわち、
appCommand
):
ここで私は通常、Windowsの起動時からに/私のプログラムを追加/削除するために使用する方法がありますWindowsの起動時に実行されるインスタンスの引数。たとえば、起動時に実行中のトレイ内のプログラムを非表示にするには、" -Hide"
を入力します。
サイドノート:は、起動時にアプリケーションを喜んで追加するオプションと、それを元に戻すオプションを常にユーザに与えます。 そうでない場合は、ユーザーがあなたを嫌いますが、ユーザーの許可なく、起動時に実行するようにアプリケーションを強制しないでください:)
サイドノート:常にユーザーに喜んで起動するようにアプリケーションを追加するオプションを与え、そしてへのオプションをそれを逆にする。 **ユーザーの許可なしに起動時にアプリケーションを実行させない**。 –
HKEY_CURRENT_USERの何かが、特別な権限を必要とせずに書き込み可能です。アクセス権ではなく、長いパスでSetValue()を呼び出すのではなく、キーを取得(またはサブキーを開く)してキーの値を設定する必要があると思われます。 –
返信してくれてありがとう、私はYouTubeで多くのチュートリアルを見てきましたが、彼らはユーザーの許可を含まないし、彼らはまだ動作します。これらの動画をご覧ください:https://www.youtube.com/watch?v=baXyf-jlGm4 –