2011-05-05 2 views
7

Windows에 로그인하기 전에 내 응용 프로그램을 실행할 수 있습니까? 실제로는 WinForm 응용 프로그램입니다 (Windows 서비스가 아닌 것이 좋음).Windows 부팅시 프로그램 실행 (로그인 전)

내 응용 프로그램은 로그인하기 전에 실행 중이어야하며 시스템 트레이에서 "표시"하거나 사용자 인터페이스를 열어야한다는 것을 의미합니다.

+6

왜 서비스하지 않습니까? –

+1

서비스 *는 데스크탑과 상호 작용해서는 안되며, 아마도 winform 앱에 나쁜 영향을 미쳐야합니다 ... –

+0

서비스가 아닌 경우 로그인하기 전에 애플리케이션을 시작할 수 없습니다. 그러나 WinForms 앱은 서비스가 될 수 없습니다. 그래서 ... – BoltClock

답변

7

는이하려면

  • 뭔가
  • 사용자의 알림 영역에 아이콘으로 응용 프로그램을 중단

당신에게 해야와 상호 작용하는 시스템 시작 및 사용자 로그인 사이에 발생 두 개의 개별 구성 요소. 이 중 하나는 알림 영역 아이콘을 제공하고 사용자가 상호 작용할 수있는 WinForms/WPF 응용 프로그램입니다. 다른 하나는 Windows 서비스이거나 예정된 작업입니다.

이 작업을 완료하면 Windows 서비스는 로그온하기 전에 수행해야 할 작업을 수행하는 데 주력 할 수 있으며 알림 영역 응용 프로그램은 최종 사용자에게 결과를 보여줄 책임이 있습니다.

이벤트 로그에서 데이터를 읽는 것과 관련하여 의견에서 제기 한 질문에 대답하려면 가능합니다.

+0

Vista 이상에서 실행하면 예약 된 작업이 서비스보다 좋을 것입니다. 코드를 수정할 필요가 없습니다. 필요한 경우 Administrator 계정으로 프로그램을 실행하는 것이 가능하지만 UI가 사용자 계정 아래에서 실행되도록하고 WCF를 사용하여 필요한 경우 트레이 아이콘과 통신 할 수 있도록 해두는 것이 좋습니다. –

+0

우리는 하나의 Main을 사용하고 "-service"라는 인수를 검색하여 서비스가 시작되었다는 것을 알면 우리의 응용 프로그램을 무너 뜨 렸습니다. 우리가 UI 루프를 시작하지 않을 경우 – Wjdavis5

4

이 MS 기사는 도움이 될 수도 있지만, 조금 오래 :

http://support.microsoft.com/kb/142905

는 희망이 비록 바로 트랙에 당신을 넣어 것입니다.

+0

사용자가 로그인 할 때만 내 응용 프로그램이 실행됩니까? –

+0

필자는 그렇게 생각하지 않습니다.이 방법은 실제로 셸 이전에 실행되므로 GUI를로드 한 후 탐색기가로드되기 전에 실행됩니다. Windows가 계속 작동 할 수 있도록 프로그램을 탐색기를 시작해야한다는 내용이 나와 있습니다. –

2

Windows 작업 스케줄러를 사용하여 컴퓨터의 전원을 켤 때 모든 응용 프로그램을 실행하도록 예약 할 수 있습니다. 해당 옵션이 있습니다. 하지만 왜 이걸 필요할까요? 이를 위해 서비스를 사용해야합니다.

3

사용자가 시스템에 로그인하기 전에 사용자 입력을 얻는 것이 바람직하지 않다고 생각합니다. 따라서 응용 프로그램에 사용자의 입력이 필요한 경우 사용 시작 전에 왜 시작해야합니까? 응용 프로그램이 백그라운드 작업을 시작하면 Windows 서비스를 사용해야합니다. Windows에서이 방법이 선호됩니다.

+0

내 응용 프로그램이 로그인하기 전에 실행 중이어야하고 시스템 트레이에 앉아서 "표시"하거나 사용자 인터페이스를 엽니 다. –

2

유형 run gpedit.msc에, 그룹 정책, 가 당신이 스크립트를 시작 설정할 수 있습니다 당신에게 특정 대답을 줄 것이다 여기에 다른 질문이 있습니다. 윈도우 로그인하기 전에 시작됩니다 응용 프로그램, 단계 생산하는 -

Start --> Run --> gpedit.msc --> Local Computer Policy --> Windows Settings --> Script (Startup/ShutDown), 

당신이 .exe 그것은 로그인하기 전에 시작됩니다 추가합니다. 우리가 다음 우리는 응용 프로그램을 호출 할 수 있습니다 레지스트리를 직접 업데이트 할 수 있습니다 키 이 값이 우리의 프로그램에 의해 레지스트리, 을에서 업데이트되는 레지스트리와 시도는, 프로그래밍 로직에 의해 시스템

에 대한 을 유해한 발생할 수 있습니다 그룹 정책에 더하지 마십시오

+3

자신에 대한 정보를 자신의 프로필 페이지에 넣고 싶다면. – agf

관련 문제