c# 외부프로그램제어 창 최소화 질문합니다.

kmsong의 이미지

c#으로 외부프로그램을 조작해보려합니다.
외부프로그램 실행하는법은 아는데
실행시키면서 창 최소화 명령을 내리는 법을 모르겠습니다
관련 예제라든가 정보를 알려주신다면 고맙겠습니다.

익명 사용자의 이미지

대략 다음과 같은 시나리오가 될 듯 한데요?
------------
using System.Diagnostics;
...
Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();

// 자기 자신의 폼 최소화하기
FormName.WindowState = FormWindowState.Minimized;

process.WaitForExit();// Waits here for the process to exit.

익명 사용자의 이미지

이 답글이 거의 정답이긴 한데, 표준을 지키지 않는 프로그램들도 많아서 안될 수도 있습니다.

WinMain 함수에 넘어오는 uShowCmd 값을 무시하는 프로그램들도 있거든요.

그런 경우에는 훅 방식으로 윈도우의 생성을 감지해서 직접 원격으로 컨트롤하는 방법 밖에 없습니다.

===

http://cafe.daum.net/codeinside

익명 사용자의 이미지

오타 냈네요. uShowCmd => nShowCmd 로 정정합니다.