C# 에서 FindWindow
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
IntPtr h_wnd = FindWindow(null, "target window name");
if (h_wnd != IntPtr.Zero)
{
// do something
}
C# 에서 SendMessage 로 WM_COPYDATA 송신
주의 : 하기 코드 SendMessage 실행은 되나 상대방 (C++ 로 제작된것) 에서 수신 안되었음.
public struct COPYDATASTRUCT
{
public uint dwData;
public uint cbData;
public IntPtr lpData;
}
class CyWin32API
{
public const int WM_COPYDATA = 0x4A;
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, ref COPYDATASTRUCT lParam);
public static void Send_WMCOPYDATA(ref COPYDATASTRUCT cds)
{
IntPtr h_wnd = FindWindow(null, "CyFinSystem::Connect-1");
if (h_wnd != IntPtr.Zero)
{
SendMessage(h_wnd, WM_COPYDATA, IntPtr.Zero, ref cds);
Console.WriteLine("Send_Data Completed");
}
}
}
연관
첫 등록 : 2020.10.28
최종 수정 :
단축 주소 : https://igotit.tistory.com/2670
'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글
jsoncpp. 라이브러리 설치 (0) | 2020.11.04 |
---|---|
C#. 자료형 바이트 사이즈 , C/C++ 대응 (0) | 2020.10.29 |
std::deque . (0) | 2020.10.21 |
std::queue. (0) | 2020.10.17 |
std::vector. STL vector class. 사용법. (0) | 2020.10.14 |
댓글