블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

C#에서 managed C++로 윈도우 핸들을 보내는 방법.

C++ part
public ref class TmMainWindow
{
    public:
        TmMainWindow(int windowHandle)
        {
            mWindowHandle = (HWND)windowHandle;
        }
    private:
        HWND mWindowHandle;
};


C# part
public partial class MainForm : Form
{
    private TmMainWindow mMainWindow;

    private void MainForm_Load(object sender, System.EventArgs e)
    {
        mMainWindow = new TmMainWindow(this.Handle.ToInt32()); 
        // 이부분이 윈도우 핸들을 넘기는 방법. 64bit os는 ToInt64일듯.
    }
};


위와 같이 하면 된다.
여담이지만, WeifenLuo 라이브러리를 쓰다가 constructor에서 윈도우 핸들값을 얻는 경우 값이 잘 못 나왔다. Load event 에서 window handle을 얻는 것은 괜찮았다. 이것 때문에 고생 좀 했다.



반응형
Posted by blueasa
, |