/*
* From Process To Process, Message Send,Recv
*/
namespace RecvPackage
{
public class Program : Form
{
public const int WM_COPYDATA=0x004A;
public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int dbData;
public IntPtr lpData;
}
public Program()
{
//From FindWindow(), This Application is Detected!!
//From FindWindow(), This Application is Detected!! //The KeyWord is Below String,,,,,
this.Text = "RecvSendDataMonitoring";
}
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
try
{
switch(m.Msg)
{
case WM_COPYDATA :
COPYDATASTRUCT cds = (COPYDATASTRUCT)m.GetLParam(typeof(COPYDATASTRUCT));
byte[] recvData = new byte[cds.cbData];
Marshal.Copy(cds.lpData, recvData, 0, cds.cbData);
Console.WriteLine(Encoding.Default.GetString(recvData));
break;
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Program());
}
}//end of class
}//end of namespace
'c# 언어' 카테고리의 다른 글
IntPtr _result = SendMessage(tailHandle, WM_COPYDATA, (IntPtr)index, sendData); (0) | 2021.12.25 |
---|---|
From BackgroundWorker 매카니즘 (0) | 2021.12.24 |
BackgroundWorker를 통해 안전하게 이벤트 기반으로 비동기 처리 (0) | 2021.12.23 |
C#은 C++의 컴퓨팅 파워와 비주얼 베이직의 편리함을 하나로 합치기 위해 마이크로소프트사(MS)에서 개발한 새로운 객체 지향 프로그래밍 언어입니다. (0) | 2021.12.17 |
ElapsedEventHandler 대리자 (0) | 2021.12.15 |