BLOG main image
분류 전체보기 (66)
excel.101 (0)
rewind (9)
(3)
(2)
목공 (3)
(3)
me2day (0)
The Ethereal Void (9)
코드 (12)
귀찮은것 (0)
Black Friday Deals Uggs
Black Friday Deals Uggs
steamboat springs colorado lod..
steamboat springs colorado lod..
Looca의 생각
loocaworld's me2DAY
vervain의 생각
vervain's me2DAY
145,390 Visitors up to today!
Today 11 hit, Yesterday 23 hit
daisy rss
tistory 티스토리 가입하기!
2007.08.29 09:36
간혹가다 두 개의 독립된 Process간의 통신이 필요한 경우가 있다. 기본적으로 .NET Remoting을 통해 구현을 할수도 있겠지만, 좀 더 간단한 구현을 원할 경우에는 Process 클래스에서 제공하는 표준 입출력 Redirection을 통해 두 개의 프로세스간에 메세지를 교환할 수 있다.

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "Program.exe";
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;

Process TargetProgram = new Process();
TargetProgram StartInfo = psi;
TargetProgram.OutputDataReceived += 
new DataReceivedEventHandler(TargetProgram_OutputDataReceived);

TargetProgram.Start();

//대상 프로세스의 표출 출력을 읽어들인다.
TargetProgram.BeginOutputReadLine();

void TargetProgram_OutputDataReceived(object sender, DataReceivedEventArgs e)
{    
    if (!String.IsNullOrEmpty(e.Data))
    {
         Console.WriteLine(e.Data);
    }
}
// "Program.exe"
Console.WriteLine("Hello :)");
반대의 경우로 송신을 원할 경우에는 대상의 표준 입력을 재설정하고, 표준 입력 스트림에 메세지를 송신하면 된다.
TargetProgram.StartInfo.RedirectStandardInput = true;
StreamWrite sw = TargetProgram.StandardInput;
myStreamWriter.WriteLine("Hello ;)");
신고
BlogIcon 최익필 | 2010.02.21 17:34 신고 | PERMALINK | EDIT/DEL | REPLY
이렇게 정보를 인터넷에 올려 주셔서 감사합니다.
요기나게 사용했습니다.

수고하세요.
G군 | 2014.06.22 00:42 신고 | PERMALINK | EDIT/DEL | REPLY
저 상태에서 따로 주소를 설정해서 다른 폴더에 있는 프로세스에는 적용할 수 없나요?

직접 적용을 시켜봤는데 파일을 찾을 수 없다는 말만 뜨네요. 위에 있는 설정을 제외하고 주소와 이름만을 가지고 실행시킬때는 아무런 문제가 없었는데;;;
Name
Password
Homepage
Secret

티스토리 툴바