ユーザーが起動時にプログラムを開くことができるようにしたい。私はvb.netでコーディングしています。どうすればこれを行うことができますか?
ショートカットをコピーできる「システムスタートアップ」フォルダーがどこにも見つかりません。
助けてくれてありがとう!
レジストリを使用して、プログラムの名前 (キー) とフル パス (値) を書き込みます。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
これは、システムの起動時ではなく、ユーザーのログイン時にロードされることに注意してください。ジョエルがこれを行うように言ったように、サービスが必要です。
c#.net でこれを行います:
public string GetRegistryValue(String key)
{
return Convert.ToString(Registry.GetValue (@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", key, ""));
}
public void SetRegistryValue(String key, String value)
{
Registry.SetValue (@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", key, value);
}
VB.net コードは非常に似ています。
システムの起動時にプログラムを実行する場合は、サービスとしてビルドする必要があります。多くの場合、ユーザーがログインしたときに実行する必要があります。そのためには、インストール中にユーザーがラジオ ボタンをクリックしたときにスタートアップ フォルダーにアイコンを配置するように、ソリューション内のインストーラー プロジェクトを構成できます。
自動起動アプリが登録されている場所がいくつかあります。Windows XP および Vista では、そのような場所の 1 つがユーザーの "Startup" フォルダーにあります。
C:\Documents and Settings\<username>\Start Menu\Programs\Startup
これは、アプリケーションが起動のために自分自身を登録するための推奨される場所だと思います。ほとんどのインストール パッケージャーには、.msi またはその他のインストーラーをビルドして実行するときにアプリケーションを自動起動するように登録するオプションが用意されています。