WPS FAQ

Q: Как узнать имя программы, ассоциированной с определенным
расширением или типом.
в ини есть только хэндл объекта. Как из него вытащить
имя программы - неизвестно. Но wptool как то это делает.
// How to query name of program associated with the extension/type?

A: ??????

Q: В каких случаях программа должна быть интегрирована в WPS?

20101029
<[joseph]> |e-co|Shuttle вот эта штука - Сейф для хранения паролей MySafe. Вроде таких есть несколько на хобесе
<[joseph]> |e-co|Shuttle зачем новый?
<|e-co|Shuttle> [joseph] хороший вопрос.
<|e-co|Shuttle> вот глобальный вопрос:
<|e-co|Shuttle> надо ли встраивать в WPS программы типа:
<|e-co|Shuttle> Адресная книга, ..
<|e-co|Shuttle> ?
<|e-co|Shuttle> или надо делать как в Win/Mac/Lin - 1 монолитная программа в которой: контнейнер, список.
<|e-co|Shuttle> или вот Шедулер = Планировщик.
<|e-co|Shuttle> тоже самое,
<|e-co|Shuttle> делать WPS-ый или PM-ую?
<[joseph]> |e-co|Shuttle WPS - активный класс, а шедулер системная утилита и должна стартовать без PM вообще
 планировщик должен быть демоном, никаких ПМ и ВПС
<[joseph]> в WPS удобно вставлять диалоги похожие на схемы шрифтов и цвета

=== PM + WPS ===

#ifndef OPEN_DEFAULT
#define OPEN_DEFAULT  0
#endif

void openDownloadFolder(char *dDir)
{
     HOBJECT obj;

     /*
     t_string dDir = opt->dDir;
     // Если оканчивается на "\" - отрезать слеш.
     if ( right( dDir , 1 ) == "\\" )
         dDir = left( dDir , strlen( dDir ) - 1 );
     */    

     if ( ( obj = WinQueryObject( dDir ) ) != NULLHANDLE )
     {
         WinOpenObject( obj , OPEN_DEFAULT , TRUE );
         // Второй раз чтоб сделать открытую папку активной
         WinOpenObject( obj , OPEN_DEFAULT , TRUE );
     }
}



=== PM + WPS ===

Q: Firefox:
ага,
E:\PROGRAMS\firefox\ReadMe.OS2
RWS



=== PM: Select color ===

ftp://ftp.ptv.ru/pub/glass/gl_getcolor.c 

ho=WinQueryObject("");
if (ho)
   rc=WinOpenObject(ho,0,TRUE);




=== WPS: WPS tools/tutorials ===

* ссылка на общие Tools

* exception handler на хоббес



=== PM + WPS ===

Старт WPS объекта:


HOBJECT hobject = WinQueryObject( pathname );

if( hobject != NULLHANDLE ) {
  WinSetObjectData( hobject, "OPEN=DEFAULT;" );
}



=== BOOKS ===

OS/2 Workplace Shell Configuration Techniques
http://ecomstation.ru/projects/developer/docs/gg244201.pdf
IBM, 1994