Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы


Листинг 5.18. Файл wast\wast.cpp


// ====================================================== // Приложение WAST // ------------------------------------------------------ // Запуск приложений Windows из // командной строки MS-DOS // // Используется совместно с загружаемым драйвером // wastdrv.dll и VxD-драйвером VXDSRV.386 версии 1.1. // Запускается автоматически при загрузке Windows. // Автоматический запуск можно отменить, изменив // конфигурацию драйвера WASTDRVR при помощи приложения // Control Panel // ------------------------------------------------------ // Copyright (C) 1995 Александр Фролов, Сергей Ноженко // ====================================================== #define STRICT #include <windows.h> #include <dir.h>

#include "wast.hpp"

BOOL InitApp(HINSTANCE);

static char szDriverName[] = "wastdrv.dll";

struct LOADPARMS { WORD segEnv; // среда LPSTR lpszCmdLine; // коммандная строка LPWORD lpwShow; // режим отображения LPWORD lpwReserved; // зарезервировано }; struct LOADPARMS parms;

WORD awShow[2] = { 2, SW_SHOW }; LPSTR lpszCmd, lpszParm; char szCurPath[128]; char szBuf[256]; // char szTempBuf[256];

// ====================================================== // Функция WinMain // ====================================================== #pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { if(hPrevInstance) // только одна копия приложения return FALSE;

// Открываем драйвер HDRVR hDriver = OpenDriver(szDriverName, NULL, NULL);

HTASK hTask;

if(hDriver) { // Получаем идентификатор текущей задачи hTask = GetCurrentTask();

// Регистрируем в драйвере текущую задачу BOOL rc = (BOOL)SendDriverMessage( hDriver, UDRV_REGISTERTASK, (LPARAM)hTask, NULL);

// Если не удалось зарегистрировать задачу, // виртуальный драйвер vxdsrv.386 не загружен if(!rc) { MessageBox(NULL, "Error Loading WAST\n" "Driver vxdsrv.386 not found", "Windows Application Starter", MB_OK | MB_ICONHAND); return FALSE; } }




Начало  Назад  Вперед



Книжный магазин