2012-03-27 4 views
5

맞춤형/자체 제작 explorer.exe 파일을 사용할 때 최소화 된 프로그램을 처리하는 데 도움이 필요합니다. 제대로 처리하지 않으면 최소화 된 프로그램이 100x50px와 같이 축소되어 화면에 머물러 있기 때문입니다. C#에서 "아이콘"프로세스를 확인하고 mainWindowHandler를 나열한 다음 "MoveWindow"를 사용하여 화면 밖으로 이동하려면 Timer를 계산했습니다. 그들을 다시 가져 오려면 나는 핸들러와 "ShowWindow"함수를 사용하여 굉장히 효과적입니다.하지만 말했듯이 타이머는 지속적으로 실행되기 때문에 이것을 달성하기위한 더 깔끔하고 쉬운 방법이 있어야합니다.최소화 된 프로그램 처리

아이디어가 있으십니까? 창을 최소화 할 때 이벤트를 연결하고 올리는 방법은 무엇입니까?

*주의 사항 : show 및 movewindow는 user32.dll의 함수입니다. 내 양식이 최소화 될 때를 잡으려고하지 않고, OTHERS 프로그램이있을 때.

답변

1

창이 최소화되어 있는지 확인하기 위해 후크를 만들 수 있습니다.

I는 사용자가 임의의 시스템 윈도우 메뉴 ( ALT + SPACE)를 열고, 다음에 별도의 항목을 추가 할 때 확인하는 후크를 사용하는 a CodeProject article 알았다. 이 코드를 사용하여 사용자가 최소화 버튼을 눌렀을 때를 확인하고 필요한 코드를 실행할 수 있습니다.

CodeProject 기사는 C++로 작성되었지만 C#과 동일한 방법 (또는 P/Invoke 사용)을 적용 할 수 있습니다.