/* WDASM Example Disassembly Program */ #include long FAR PASCAL WndProc( HWND, WORD, WORD, LONG); int PASCAL WinMain( HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow) { static char szAppName[] = "Windows Disassembler Example"; HWND hwnd; MSG msg; WNDCLASS wndclass; if( !hPrevInstance) { wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor( NULL, IDC_ARROW); wndclass.hbrBackground = GetStockObject( WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName; RegisterClass( &wndclass); } hwnd = CreateWindow( szAppName, // lpClassName "Windows Disassembler Example", // lpWindowName WS_OVERLAPPEDWINDOW, // dwStyle CW_USEDEFAULT, // X CW_USEDEFAULT, // Y CW_USEDEFAULT, // nWidth CW_USEDEFAULT, // nHeight NULL, // hWndParent NULL, // hMenu hInstance, // hInstance NULL); // lpParam ShowWindow( hwnd, nCmdShow); UpdateWindow( hwnd); while( GetMessage( &msg, NULL, 0, 0)) { TranslateMessage( &msg); DispatchMessage( &msg); } return msg.wParam; } long FAR PASCAL WndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam) { HDC hdc; PAINTSTRUCT ps; RECT rect; switch( message) { case WM_PAINT: hdc = BeginPaint( hwnd, &ps); GetClientRect( hwnd, &rect); DrawText( hdc, "Congratulations, it works!", -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE); EndPaint( hwnd, &ps); return 0; case WM_DESTROY: PostQuitMessage( 0); return 0; } return DefWindowProc( hwnd, message, wParam, lParam); }