1. System::String 转换到 const wchar_t*
1: const wchar_t* ToUnmanagedUnicode( System::String^ str )
2: {
3: pin_ptr<const WCHAR> nativeString1 = PtrToStringChars( str );
4: return (const wchar_t*)nativeString1;
5: }
2. const wchar_t* / const char* 转换到 System::String
1: const wchar_t* p= L"hello";
3: System::String( p ).ToString();
3. C++数值类型转CLR数值类型
1: int a;
2:
3: System::Int32 b = System::Int32( a );
4. HWND 转为IWin32Window
1: public ref class WindowWrapper : System::Windows::Forms::IWin32Window
2: {
3: public: WindowWrapper(IntPtr handle)
4: {
5: _hwnd = handle;
6: }
7:
8: public:
9: property IntPtr Handle
10: {
11: virtual IntPtr get(void){return _hwnd;};
12: };
13:
14: private: IntPtr _hwnd;
15: };
16:
17: HWND nativehwnd;
18: IWin32Window^ w = gcnew Managed::WindowWrapper( System::IntPtr( nativehwnd ) );