Code/C C++

[C++/CLI] #pragma managed, #pragma unmanaged, Windows API

Hide Code 2009. 5. 9. 06:49


#include <iostream>
#include <windows.h>

void foo();

#pragma managed
#pragma comment(lib, "user32.lib")

using namespace System;

int main(array<System::String ^> ^args)
{
    // Call Managed Code
    Console::WriteLine(L"Managed Code");

    // Call Windows API Code
    ::MessageBox(NULL, _T("Win32 API in Managed Area"), _T("Hello"), MB_OK);

    // Call Unmanaged Code
    foo();

    return EXIT_SUCCESS;
}

#pragma unmanaged

using namespace std;

void foo()
{
    cout << "Unmanaged Code" << endl;
    MessageBox(NULL, _T("Win32 API in Unmanaged Area"), _T("Hello"), MB_OK);
}