728x90
๋ฐ์ํ
์์
const int WM_COPYDATA = 0x4A;
public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int cbData;
[MarshalAs(UnmanagedType.LPStr)]
public string lpData;
}
protected override void WndProc(ref Message m)
{
try
{
switch (m.Msg)
{
case WM_COPYDATA:
COPYDATASTRUCT cds = (COPYDATASTRUCT)m.GetLParam(typeof(COPYDATASTRUCT));
MessageBox.Show(cds.lpData);
break;
default:
base.WndProc(ref m);
break;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
์ก์
const int WM_COPYDATA = 0x4A;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, ref COPYDATASTRUCT lParam);
public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int cbData;
[MarshalAs(UnmanagedType.LPStr)]
public string lpData;
}
private void OnButtonSendClick(object sender, EventArgs e)
{
string msg = this.tbMsg.Text.Trim();
if (string.IsNullOrEmpty(msg))
{
MessageBox.Show("๋ฉ์ธ์ง๋ฅผ ์
๋ ฅํด์ฃผ์ธ์");
return;
}
Process []pro = Process.GetProcessesByName("HowToPostMessage");
if(pro.Length > 0)
{
byte[] buff = System.Text.Encoding.Default.GetBytes(msg);
COPYDATASTRUCT cds = new COPYDATASTRUCT();
cds.dwData = IntPtr.Zero;
cds.cbData = buff.Length+1;
cds.lpData = msg;
SendMessage(pro[0].MainWindowHandle, WM_COPYDATA, 0, ref cds);
}
}
์ถ์ฒ:
https://kimkitty.net/archives/2324
Kim Kitty's Blog
๊นํคํฐ์ ์์๋ผ์ฅ - C#,PC๊ฒ์,์ด์,ํธ๋ ๋
kimkitty.net
C# Process๊ฐ ๋ฉ์ธ์ง ์ ์ก SendMessage
ํ ํ๋ก์ธ์ค์ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง, 2๊ฐ์ Winform ํ๋ก๊ทธ๋จ์์ SendMessage ํจ์๋ฅผ ์ด์ฉํด ํ ํ๋ก์ธ์ค์ ๋ฌธ์์ด ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ๋ฐฉ๋ฒ์ ํฌ์คํ ํ๊ฒ ์ต๋๋ค. WM_COPYDATA
ehdrn.tistory.com
728x90
๋ฐ์ํ
'๐จ๐ผโ๐ป๊ฐ๋ฐ > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C# - ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์คํ ์ํค๊ธฐ(Porcess.Start) with ์์ ๊ฒฝ๋ก ์ง์ (0) | 2022.08.28 |
---|---|
C# - ํ๋ก๊ทธ๋จ ์ค๋ณต ์คํ ๋ฐฉ์งํ๊ธฐ (0) | 2022.08.26 |
C# - ๋ค๋ฅธ ์์ฉํ๋ก๊ทธ๋จ์ ์ ์ดํด ๋ณด์. feat.SPY++ (1) | 2022.08.24 |
C# - ์ค๋ ๋์์ ์์ ฏ ์กฐ์ํ๊ธฐ (0) | 2022.08.23 |
C# - http ์์ฒญ(HttpWebRequest) (0) | 2022.06.27 |