00s_tag_label>
00s_tag_label>
C# 프로그래밍(programming)을 접한지 얼마되지 않아 하나의 기능을 구현하기 위해 국내 및 외국 사이트에서 소스를 찾기 위해 동분서주 하느라 대부분의 시간을 보내고 있습니다.
저와 같은 고민을 하시는 초보 C# 프로그래머 분들에게 도움이 되셨으면 하는 생각에 포스팅을 합니다.
여기서 소개하는 소스는 C#으로 윈도우(windows)의 시작프로그램(startup)에 등록, 삭제하는 코드로 서두에서 말씀드린 바와 같이외국 사이트에서 찾아낸 C# 알고리즘 입니다.
[C# 레지스트리 접근 클래스 또는 네임스페이스(name space)]
[함수 SetStartup(string AppName, bool enable)]
C# 프로그래밍(programming)을 접한지 얼마되지 않아 하나의 기능을 구현하기 위해 국내 및 외국 사이트에서 소스를 찾기 위해 동분서주 하느라 대부분의 시간을 보내고 있습니다.
저와 같은 고민을 하시는 초보 C# 프로그래머 분들에게 도움이 되셨으면 하는 생각에 포스팅을 합니다.
여기서 소개하는 소스는 C#으로 윈도우(windows)의 시작프로그램(startup)에 등록, 삭제하는 코드로 서두에서 말씀드린 바와 같이외국 사이트에서 찾아낸 C# 알고리즘 입니다.
여기에서 언급하는 시작프로그램은 msconifg(시스템 구성 유틸리티, 아래 그림 참조) 상의 시작 프로그램에 등록, 삭제하는 것으로 실제로는 레지스트리(registry) 상에 등록, 삭제하는 것입니다. ([시작]->[모든 프로그램]->[시작프로그램]에 등록, 삭제하는 것이 아닙니다.)
1. C# 프로그래밍 사전 지식
[시작 프로그램의 레지스트리의 위치]
SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
[C# 레지스트리 접근 클래스 또는 네임스페이스(name space)]
Microsoft.Win32.RegistryKey
[함수 SetStartup(string AppName, bool enable)]
SetRegStartup 함수는 AppName, enable 2개의 파라미터를 받아 처리하도록 작성이 되었습니다.
* AppName : 등록 또는 제거 하고픈 응용프로그램 이름
* enable : true(등록), false(삭제)
* enable : true(등록), false(삭제)
2. C# 프로그래밍 소스코드
private void SetStartup(string AppName, bool enable) { string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey); if (enable) { if (startupKey.GetValue(AppName) == null) { // 시작프로그램에 등록(Add startup reg key) startupKey.Close(); startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true); startupKey.SetValue(AppName, Application.ExecutablePath.ToString()); startupKey.Close(); } } else { // 시작프로그램에서 삭제(remove startup) startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true); startupKey.DeleteValue(AppName, false); startupKey.Close(); } }
C# 프로그래밍에 조금이나마 도움이 되셨으면 합니다.
http://all4cs.tistory.com - 두그미의 사는 이야기
'IT' 카테고리의 다른 글
C# XML 저장, 로딩 및 수정 / C# How To Modify and Save XML in the .NET (10) | 2012.01.13 |
---|---|
C# 프로그램 중복 실행 방지 Mutex / C# Using a mutex to prevent multiple application from running (4) | 2011.11.18 |
C# 외부 프로그램 종료하기 / C# Process.GetProcessesByName (0) | 2011.10.21 |
C# TreeView에서 Node 검색 및 카테고리 구현 (11) | 2011.05.02 |
Windows XP에서 Net Share, Cacls로 폴더 공유 하기 (14) | 2011.04.19 |