2011-09-15 5 views
1

So、ウィンドウでプログラムを開始しますか? c#

私は新しいプログラムを開くだけのwinformsをビルドしました。

Winフォームにあるコードはこれです:(誰もが必要とする場合)

Process a; 

Process a = Process.Start("notepad.exe"); 

BUT。

私はWindowsのスタートアップから始めるプログラムにどのように言えるのか知る必要があります。 skype doや他のプログラムのように。

So.

  1. 私はwinformsアプリケーションをビルドしました。
  2. 私は開始プロセスを行いました。
  3. 今、私は、プログラムがウィンドウズで起きることを助ける必要があります。

唯一の重要なことは、プログラムでは私が彼女が窓から始めるかどうかを選ぶことができるということです。だから、誰かが私に機能を与えたら、私に\ off関数を与えてください。感謝します!

+1

クイックGoogleが明らかにhttp://simpcode.blogspot.com/2008/07/c-set-and-unset-auto-start-for-windows.html – Scott

+1

これは、アプリケーションのインストールの一部である必要があります。 http://www.bleepingcomputer.com/tutorials/tutorial44.html –

+0

[C#autostartの複製が自動的に起動フォルダにアプリケーションを追加する](http://stackoverflow.com/questions/4247439/c-autostart-automatically-add-起動時アプリケーションフォルダ) –

答えて

11

Windows起動時に自動的にアプリケーションを起動するには、Windowsレジストリにアプリケーションを登録する必要があります。

あなたは、次のレジストリキーに新しい値を追加する必要があります。

開始する現在のユーザー

またはキー

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

にアプリケーションを起動します

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

すべてのユーザー用のアプリケーション

次の例では、現在のユーザーのためのアプリケーション:あなたは自動的にWindowsの起動時にすべてのユーザーのためのアプリケーションを起動したい場合は

var path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; 
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true); 
key.SetValue("MyApplication", Application.ExecutablePath.ToString()); 

だけ

RegistryKey key = Registry.LocalMachine.OpenSubKey(path, true); 

に沿っ二行を交換してください。

これを無効にしてアプリケーションが自動的に起動しないようにするには、レジストリ値を削除します。

var path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; 
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true); 
key.DeleteValue("MyApplication", false); 
0

あなたがスタートアップWindowsフォルダにそれのアイコンをドロップすることによって、それを直接ためにできることNOTEPAD.EXEを実行するように求めているので。

関連する問題