본문 바로가기
VisualStudio.C++.C#/코딩팁,함수활용,단편

C#. FindWindow. SendMessage. WM_COPYDATA

by i.got.it 2020. 10. 28.

 

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");
            }           
        }

    }

 

 

 

 

연관 

 

 

WM_COPYDATA.

개요 2개의 프로세스 사이에 SendMessage 함수로 메시지 송/수신과 동시에 구조체자료형 COPYDATASTRUCT 를 전송가능한 것. 즉 메시지 송신측에서 SendMessage 함수인자를 아래처럼 호출하면 HWND 에 해당

igotit.tistory.com

 

 

 


첫 등록 : 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

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5