-    wxBuffer = new wxChar[256];
-    wxSprintf(wxBuffer, "%s\nContinue?", WXSTRINGCAST rMsg);
-    if (::WinMessageBox( HWND_DESKTOP
-                        ,NULL
-                        ,(PSZ)wxBuffer
-                        ,(PSZ)WXSTRINGCAST rTitle
-                        ,0
-                        ,MB_ICONEXCLAMATION | MB_YESNO
-                       ) == MBID_YES)
-    delete[] wxBuffer;
-    wxExit();
+    wxString strVer(_T("OS/2"));
+    ULONG ulSysInfo[QSV_MAX] = {0};
+
+    if (::DosQuerySysInfo( 1L,
+                           QSV_MAX,
+                           (PVOID)ulSysInfo,
+                           sizeof(ULONG) * QSV_MAX
+                         ) == 0L )
+    {
+        wxString ver;
+        ver.Printf( _T(" ver. %d.%d rev. %c"),
+                    int(ulSysInfo[QSV_VERSION_MAJOR] / 10),
+                    int(ulSysInfo[QSV_VERSION_MINOR]),
+                    char(ulSysInfo[QSV_VERSION_REVISION])
+                  );
+        strVer += ver;
+    }
+
+    return strVer;