Я нашел одно решение, конечно не идеальное, но оно без проблем работает под Win95 - вызов редактора WordPad с недокументированным параметром:
shellExecute(mainForm.handle, nil,'write.exe','myfile.rtf /p',nil,SW_HIDE); |
(Я выяснил, что вызов WRITE.EXE намного универсальнее, поскольку путь к файлу WORDPAD.EXE не всегда определен.)
Параметр "/p" является недокументированным. Код сначала запустит WordPad, напечатает файл, и затем закроет WordPad. SW_HIDE, является единственным параметром, позволяющим хоть как-то прятать работу WordPad.
WordPad загружает в память файл насколько это возможно, но это работает благодаря механизму сегментации, когда в необходимый момент времени подгружается другая часть файла. При работе с WordPad файл загружался и выводился на печать довольно быстро. Проблем совместимости не существует - WordPad имеется на каждой системе Win95.
[000234]