2009-09-18 2 views
2

나는 그들이 작업 한 큰 프로젝트를 리팩터링하여 더 나은 실무를 가르치고있다. 응용 프로그램의 현재 기능 중 하나는 Windows가 시작될 때 응용 프로그램을 시작하는 옵션입니다. 현재 응용 프로그램이 실행 레지스트리 키를 사용하여 수행 :.NET 응용 프로그램이 시작시 자동 실행되도록하려면이 방법이 적합합니까?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 

내가 전에이 기능을 구현 할 필요가 없었을, 그래서 나는이 응용 프로그램을 만들 수있는 "최고"방법입니다 있는지 확실하지 않습니다 시작시 실행하십시오. 대부분의 사용자가이 레지스트리 키에 액세스 할 수 있습니까?

Environment.GetFolderPath(SpecialFolder.Startup)으로 표시된 폴더에 응용 프로그램의 바로 가기를 배치하는 것이 더 좋습니까? .NET에서 단축키를 만드는 것이 일종의 해킹 인 것 같아서 이것이 더 낫다는 것이 확실하지 않습니다.

편집는 : 현재 응답에서

내가 중요한 일을 남겨 분명하다. "창으로 시작"동작은 선택 사항이며 프로그램의 옵션 대화 상자의 일부입니다. 응용 프로그램을 사용하는 동안 사용자가 여러 번 토글하는 것은 유효합니다 (바보 같지만).

답변

5

모든 것은 응용 프로그램의 의도에 따라 다릅니다. 응용 프로그램이 고급 사용자 용이고 프로그램 내에서 해당 레지스트리 키를 변경하는 쉬운 방법을 포함하거나 제거하면 안되는 엔터프라이즈 솔루션을 의미하는 경우 레지스트리 키 선택이 좋습니다. 평균적인 사용자를위한 것이며 쉬운 설정 방법이없는 경우 Startup 폴더로 이동하십시오.

특정 경우 레지스트리 키를 사용하면 작업을 쉽게 변경할 수있어 완벽합니다.

+0

msconfig는 시작시 실행되는 프로그램을 활성화/비활성화하기위한 관리 인터페이스를 제공합니다. – wefwfwefwe

+0

동작을 활성화 또는 비활성화하는 옵션이 응용 프로그램에 눈에 띄게 표시됩니다. 나는 그것이 중요하다는 것을 깨닫지 못했기 때문에이 정보를 원래 질문에 추가 할 것입니다. 사용자가 응용 프로그램을 통해 레지스트리를 구성 할 수있는 한 레지스트리가 수용 가능한 솔루션이라는 것에 동의하십니까? – OwenP

0

배포가 MSI를 통해 수행되는 경우 Visual Studio를 통해 배포 프로젝트 구성에서이 작업을 수행 할 수있는 방법이 있습니다.

물론 MSI를 사용하여 배포하지 않은 경우 프로그래밍 방식으로 사용자의 시작 폴더에 응용 프로그램의 바로 가기를 배치합니다.

관련 문제