2010-12-28 4 views
3

연락처 관리 프로그램을 작성 중입니다. 명령 줄 인수를 읽는 방법을 알고, 내가 찾은 것을 바탕으로 다른 방법을 수행합니다. 단순히 program.exe을 실행하는 반면이미 실행중인 프로세스에 명령 줄 인수를 전달하는 방법은 무엇입니까?

예를 들어, program.exe "John Doe"이 프로그램의 새 인스턴스를 시작하고이 홍길동이라는 찾은 첫 번째 접촉을 열 것이다, program.exe -s John는 "존"프로그램의 새 인스턴스를 시작하고 이름 연락처를 검색합니다 빈 검색 화면으로 프로그램의 새 인스턴스를 엽니 다.

그러나 프로그램의 단일 인스턴스 만 실행하고 싶습니다. 따라서 다른 프로그램이 program.exe "John Doe"을 호출하면 이미 프로세스가 실행 중이면 인수가 해당 프로세스에 전달되고 새 창을 열지 않고 새 검색으로 전환합니다.

이전에 실행중인 프로세스와 프로세스 간 통신을 필요로한다는 것을 알고 있지만 .NET의 많은 부분을 수행하지는 않았으며 올바른 방향으로 시작하거나 특정 주제에 대한 좋은 자습서를 찾는 데 어려움이 있습니다. .

+1

마십시오 "자신"은 Program.exe를 요구하고있다, 또는 제 3 자에게 속해 있습니까? –

+0

'program.exe'는 제가 쓰는 프로그램입니다. 아직 이름이 없습니다. 그래, 나는 그것을 소유하고있다. – dlras2

+1

중복? http://stackoverflow.com/questions/917883/c-how-to-single-instance-application-that-accepts-new-parameters –

답변

1

한 가지 방법은 WCF 서비스를 호스팅은 Program.exe해야하는 것입니다. 그런 다음 명령 줄 인수를 사용하여 다른 인스턴스가 시작되면 해당 서비스에 대한 WCF 클라이언트가되어 서비스에 인수를 보내고 종료합니다.

관련 문제