none
c#에서 WPF로 개발된 외부 프로그램안에 있는 button 이나 editbox 등을 화면에 보이지 않도록 하는 방법을 문의드려요 RRS feed

  • 질문

  • 안녕하세요. 
    c#에서 외부 프로그램안에 있는 button 이나 editbox 등을 화면에 보이지 않도록 할 경우 

    [DllImport("user32.dll")]
    static extern bool ShowWindow(int hWnd, int nCmdShow);

    int SW_HIDE = 0;
    ShowWindow(handle, SW_HIDE); 

    이렇게 하고 있는데요.

    그런데 외부 프로그램이 wpf로 만들어져 있을 경우에는 spy++로 확인하면 제일 상위 윈도우만 발견되고 하위 컨트롤들에 대해서는 나오지 않는데요.

    그래서 inspect 프로그램을 통해 확인해보니 wpf로 만들어진 프로그램의 경우에도 최상위 윈도우 뿐만 아니라 하위 윈도우와 하위 컨트롤들도 보여지긴 하지만

    제일 상위 윈도우 핸들은 NativeWindowHandle 값을 통해 확인되지만 하위 윈도우와 컨트롤들은 NativeWindowHandle 값 자체가 없어서 ShowWindow(handle, SW_HIDE) 를 사용할 수가 없습니다.

    wpf 로 개발된 외부 프로그램도 하위 컨트롤의 Visibility 를 변경하려면 어떻게 하면 될까요?

    읽어 주셔서 감사합니다.
    2018년 4월 26일 목요일 오전 1:48

답변