RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : winos2


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : dgv
To : Vasiliy
Subj : winos2

> > > Как из цмдешника запустить оконную винос прогу?
> > > пишу C:\WIN\winproga.exe - запускается полноэкранная сессия.
> >
> >
> > А зачем из КМДшника? Из БАТника не проще ли? Или - еще проще - создать объект на рабочем столе и ему присвоить в пропертях "Виндовед Вин-ОСь2 сессион"?
>
> Есть у меня винос2 вьювер вордовских-97 файлов. Цемдешник у меня берет файл с длинным именем, копирует в темп с коротким и запускает вьювер для его просмотра. Так что батник не катит.

Вот, я написал и использую для запуска любой WINOS2 программы:


/***********************************************************/
/* Этот скрипт - костыль для WordView.exe, позволяет */
/* просматривать документы WinWord в любой недоступной */
/* для WinOs2 директории, или документы с длинными */
/* именами (>8.3) */
/* Можно использовать для любой WinOs2 программы, */
/* ,если необходимо, изменить */
/* имя расширения временного файла (1-ая строка скрипта) */
/* для FC/2 войти в меню F9/Commands/Edit Association */
/* и добавить строку: */
/* *.{doc,rtf}: W16exe.cmd ?\winword\winword.exe !f */
/* (C) 2003 Геннадий Думитрашов MailTo:dumitrash(собака)mtu.ru */
/***********************************************************/
ext='.doc'
debug=0
_cl='CLOSE';_ow='OPEN WRITE';_qe='QUERY EXISTS'
IF RxFuncQuery("SysLoadFuncs") THEN DO
_('RxFuncAdd' RxFuncAdd("SysLoadFuncs","RexxUtil","SysLoadFuncs") SysLoadFuncs())
END
parse arg wexe fn;parse source . . rxn
fn=strip(strip(fn),,'"')
call testfile Wexe
call testfile fn
tmpdir=value('TMP',,'OS2ENVIRONMENT')
if right(tmpdir,1)='\' then tmpdir=left(tmpdir,length(tmpdir)-1)
tfn=SysTempFileName(tmpdir'\twrd????'ext)
/*'@copy /b "'fn'"' tfn '2>nul 1>nul'*/
_('copy' charout(tfn,charin(fn,1,chars(fn))) stream(tfn,c,_cl) stream(fn,c,_cl))
oID='<temp_winpgm'Random(999)'>'
setup='PROGTYPE=PROG_31_ENHSEAMLESSCOMMON;EXENAME='Wexe';PARAMETERS='tfn,
||';STARTUPDIR='left(Wexe,lastpos('\',Wexe)-1)';OBJECTID='oID
_('SysCreateObject' SysCreateObject('WPProgram',Wexe,tmpdir,setup))
_('StartObject' SysSetObjectData(oID,'OPEN=DEFAULT') SysDestroyObject(oID))
do while stream(tfn,c,_ow)<>'READY:';N=SysSleep(0.1);end
_('delete' stream(tfn,c,_cl) SysFileDelete(tfn))
exit
testfile:
if ARG(1)<>'' then do
if stream(arg(1),c,_qe)<>'' then return
say 'Usage:' rxn WINPRG.EXE 'file'ext
say 'File' arg(1) 'not found'
exit
END
ELSE DO;say 'Usage:' rxn WINPRG.EXE 'file'ext;EXIT;END
return
_:if debug then do;say time() arg(1);return '';end;else return ''


Sat 19 Feb 2005 20:44 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.7.5) Gecko/20041




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.