본문 바로가기

C# & .NET

오직 한 번만 실행되는 프로그램 - 이미 실행중인 프로그램에 데이터 전달하기

728x90
반응형
[오직 한 번만 실행되는 프로그램]
뮤텍스를 사용하는 원리

프로그램의 메인 폼을 실행시키기 전에 이미 실행되고 있는 프로그램의 인스턴스가 존재하는지를 확인해야 함.
Program Class의 Main 함수에서 확인.

위 코드에서 사용하고 있는 Win32 클래스의 내용(일부 발췌)

[이미 실행중인 프로그램에 데이터 전달하기]
WM_COPYDATA 메시지를 사용하는 원리
프로그램은 ClickOnce 로 배포되고 있고, 웹페이지에서 파라미터를 사용하여 프로그램을 실행시키는 경우라고 가정함.
프로그램 실행시 전달된 파라미터 수집 : GetQueryStringParameters() 프로그램의 인스턴스가 이미 존재하는지 확인하고 이미 존재하면 해당 인스턴스에게 프로그램 실행시 전달받은 파라미터 문자열을 전달함. 위 코드에서 사용된 Win32 클래스의 내용(전체)
프로그램의 메인폼에서는 WM_COPYDATA 메시지를 처리함.

[샘플 프로젝트]

반응형