Q&A

  • 프로그램 실행시 실행중이면 기존프로그램 띄우기
제법 날씨가 쌀쌀해 졌네요...

감기조심하십시오..

외부 프로그램을 실행 시키는데, 이미 실행중이면 중복실행 메세지와함께 죽이는게 아니라 그 실행중인 화일을 화면에 띄웠으면 하는데 영~ 힘이드네요 ㅡㅡ;

문제를 해결할 수 있도록 고수님들의 많은 조언 부탁드립니다.
1  COMMENTS
  • Profile
    [ROOKIE] 2003.10.07 03:52

    뮤텍스를 사용하시면 프로그램이 처음 실행되는지 두번째 실행되는지 알 수 있습니다.

    뮤텍스 만들기 성공하면 처음.
    실패하면 두번째...
    이때 먼저 실행한 프로그램을 찾아내서 포커스를 주고 두번째 실행되는 넘은 죽으면 되거든요.

    창을 맨 위로 띄우는 것은
    팁에서 ForceforegroundWindow 로 검색해보면 나옵니다.

    문제는 먼저 실행된 넘의 핸들을 얻는 건데...
    여러가지 방법이(?) 있겠지만

    EnumWindows(@EnumWindowsProc,0); <-- 이것을 쓰면 되지 않을까? 생각합니다.

    이곳에서 클래스 이름으로 한번 필터링을 한 후에...
    핸들이 두번째 실행되는 핸들과 같은지 비교해 봐서 다르면...
    그 창을 맨 위로 띄우시면 될 것 같습니다.

    안해봐서...
    소스코드는 못 올리겠네요...