C#에서 managed C++로 윈도우 핸들을 보내는 방법
Programming/C++/CLI / 2011. 9. 8. 17:01
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을 얻는 것은 괜찮았다. 이것 때문에 고생 좀 했다.
[출처] C#에서 managed C++로 윈도우 핸들을 보내는 방법|작성자 예스빌
반응형
'Programming > C++/CLI' 카테고리의 다른 글
C++ DLL Callback 을 C# 루틴으로 가져오기 (0) | 2012.05.03 |
---|---|
cli::array<t>^<t> (0) | 2011.03.24 |
System.String → char * (marshal_context) (2) | 2010.12.20 |
Part 1: How to Make Native Calls from Managed Code in C++/CLI (0) | 2010.12.20 |
Arrays in C++/CLI (0) | 2010.11.26 |