1 | UNIT PMSHL;
|
---|
2 |
|
---|
3 | {****************************** Module Header *****************************
|
---|
4 | * *
|
---|
5 | * Module Name: PMSHL.PAS *
|
---|
6 | * *
|
---|
7 | * OS/2 Presentation Manager Shell constants, types, messages and *
|
---|
8 | * function declarations include file. *
|
---|
9 | * *
|
---|
10 | ***************************************************************************}
|
---|
11 |
|
---|
12 | INTERFACE
|
---|
13 |
|
---|
14 | USES Os2Def;
|
---|
15 |
|
---|
16 |
|
---|
17 | { maximum title length }
|
---|
18 | CONST
|
---|
19 | MAXNAMEL =60;
|
---|
20 |
|
---|
21 | { program handle }
|
---|
22 |
|
---|
23 | TYPE
|
---|
24 | HPROGRAM=LHANDLE;
|
---|
25 | HAPP=LHANDLE;
|
---|
26 |
|
---|
27 | { ini file handle }
|
---|
28 | TYPE
|
---|
29 | HINI=LHANDLE;
|
---|
30 |
|
---|
31 | CONST
|
---|
32 | HINI_PROFILE =0;
|
---|
33 | HINI_USERPROFILE =-1;
|
---|
34 | HINI_SYSTEMPROFILE =-2;
|
---|
35 | HINI_USER =HINI_USERPROFILE;
|
---|
36 | HINI_SYSTEM =HINI_SYSTEMPROFILE;
|
---|
37 |
|
---|
38 | TYPE
|
---|
39 | PRFPROFILE=RECORD
|
---|
40 | cchUserName:ULONG;
|
---|
41 | pszUserName:PChar;
|
---|
42 | cchSysName:ULONG;
|
---|
43 | pszSysName:PChar;
|
---|
44 | END;
|
---|
45 |
|
---|
46 | CONST
|
---|
47 | { maximum path length }
|
---|
48 | MAXPATHL =128;
|
---|
49 |
|
---|
50 | { root group handle }
|
---|
51 | SGH_ROOT =-1;
|
---|
52 |
|
---|
53 | TYPE
|
---|
54 | HPROGARRAY=RECORD
|
---|
55 | ahprog:HPROGRAM;
|
---|
56 | END;
|
---|
57 |
|
---|
58 | PROGCATEGORY=ULONG;
|
---|
59 |
|
---|
60 | { values acceptable for PROGCATEGORY for PM groups }
|
---|
61 | CONST
|
---|
62 | PROG_DEFAULT =0;
|
---|
63 | PROG_FULLSCREEN =1;
|
---|
64 | PROG_WINDOWABLEVIO =2;
|
---|
65 | PROG_PM =3;
|
---|
66 | PROG_GROUP =5;
|
---|
67 | PROG_REAL =4;
|
---|
68 | PROG_VDM =4;
|
---|
69 | PROG_WINDOWEDVDM =7;
|
---|
70 | PROG_DLL =6;
|
---|
71 | PROG_PDD =8;
|
---|
72 | PROG_VDD =9;
|
---|
73 | PROG_WINDOW_REAL =10;
|
---|
74 | PROG_WINDOW_PROT =11;
|
---|
75 | PROG_30_STD =11;
|
---|
76 | PROG_WINDOW_AUTO =12;
|
---|
77 | PROG_SEAMLESSVDM =13;
|
---|
78 | PROG_30_STDSEAMLESSVDM =13;
|
---|
79 | PROG_SEAMLESSCOMMON =14;
|
---|
80 | PROG_30_STDSEAMLESSCOMMON=14;
|
---|
81 | PROG_31_STDSEAMLESSVDM =15;
|
---|
82 | PROG_31_STDSEAMLESSCOMMON=16;
|
---|
83 | PROG_31_ENHSEAMLESSVDM =17;
|
---|
84 | PROG_31_ENHSEAMLESSCOMMON=18;
|
---|
85 | PROG_31_ENH =19;
|
---|
86 | PROG_31_STD =20;
|
---|
87 | PROG_RESERVED =255;
|
---|
88 |
|
---|
89 | TYPE
|
---|
90 | PROGTYPE=RECORD
|
---|
91 | progc:PROGCATEGORY;
|
---|
92 | fbVisible:ULONG;
|
---|
93 | END;
|
---|
94 |
|
---|
95 | { visibility flag for PROGTYPE structue }
|
---|
96 | CONST
|
---|
97 | SHE_VISIBLE =$00;
|
---|
98 | SHE_INVISIBLE =$01;
|
---|
99 | SHE_RESERVED =$FF;
|
---|
100 |
|
---|
101 | { Protected group flag for PROGTYPE structure }
|
---|
102 | SHE_UNPROTECTED =$00;
|
---|
103 | SHE_PROTECTED =$02;
|
---|
104 |
|
---|
105 | { Structures associated with 'Prf' calls }
|
---|
106 | TYPE
|
---|
107 | PROGDETAILS=RECORD
|
---|
108 | Length:ULONG;
|
---|
109 | progt:PROGTYPE;
|
---|
110 | pszTitle:PChar;
|
---|
111 | pszExecutable:PChar;
|
---|
112 | pszParameters:PChar;
|
---|
113 | pszStartupDir:PChar;
|
---|
114 | pszIcon:PChar;
|
---|
115 | pszEnvironment:PChar;
|
---|
116 | swpInitial:SWP;
|
---|
117 | END;
|
---|
118 |
|
---|
119 | PROGTITLE=RECORD
|
---|
120 | hprog:HPROGRAM;
|
---|
121 | progt:PROGTYPE;
|
---|
122 | pszTitle:PChar;
|
---|
123 | END;
|
---|
124 | { bit values for Options parameter }
|
---|
125 | CONST
|
---|
126 | SAF_VALIDFLAGS =$001F;
|
---|
127 |
|
---|
128 | SAF_INSTALLEDCMDLINE =$0001; { use installed parameters }
|
---|
129 | SAF_STARTCHILDAPP =$0002; { related application }
|
---|
130 | SAF_MAXIMIZED =$0004; { Start App maximized }
|
---|
131 | SAF_MINIMIZED =$0008; { Start App minimized, if !SAF_MAXIMIZED }
|
---|
132 | SAF_BACKGROUND =$0010; { Start app in the background }
|
---|
133 |
|
---|
134 |
|
---|
135 |
|
---|
136 | { switch list section }
|
---|
137 |
|
---|
138 | TYPE
|
---|
139 | HSWITCH=LHANDLE;
|
---|
140 |
|
---|
141 | PSWCNTRL=^SWCNTRL;
|
---|
142 | SWCNTRL=RECORD
|
---|
143 | hwnd:HWND;
|
---|
144 | hwndIcon:HWND;
|
---|
145 | hprog:HPROGRAM;
|
---|
146 | idProcess:PID;
|
---|
147 | idSession:ULONG;
|
---|
148 | uchVisibility:ULONG;
|
---|
149 | fbJump:ULONG;
|
---|
150 | szSwtitle:CSTRING[MAXNAMEL+3];
|
---|
151 | bProgType:ULONG;
|
---|
152 | END;
|
---|
153 |
|
---|
154 | { visibility flag for SWCNTRL structure }
|
---|
155 | CONST
|
---|
156 | SWL_VISIBLE =$04;
|
---|
157 | SWL_INVISIBLE =$01;
|
---|
158 | SWL_GRAYED =$02;
|
---|
159 |
|
---|
160 | { jump flag for SWCNTRL structure }
|
---|
161 | SWL_JUMPABLE =$02;
|
---|
162 | SWL_NOTJUMPABLE =$01;
|
---|
163 |
|
---|
164 | TYPE
|
---|
165 | PSWENTRY=^SWENTRY;
|
---|
166 | SWENTRY=RECORD
|
---|
167 | hswitch:HSWITCH;
|
---|
168 | swctl:SWCNTRL;
|
---|
169 | END;
|
---|
170 |
|
---|
171 | PSWBLOCK=^SWBLOCK;
|
---|
172 | SWBLOCK=RECORD
|
---|
173 | cswentry:ULONG;
|
---|
174 | swentry:array[0..0] of SWENTRY; // actually many entries... AaronL
|
---|
175 | END;
|
---|
176 |
|
---|
177 | CONST
|
---|
178 | PL_ALTERED =$008E; { WM_SHELLFIRST + 0E }
|
---|
179 |
|
---|
180 |
|
---|
181 | IMPORTS
|
---|
182 |
|
---|
183 | FUNCTION WinAddSwitchEntry(VAR aps:SWCNTRL):HSWITCH;
|
---|
184 | APIENTRY; 'PMSHAPI' index 120;
|
---|
185 | FUNCTION WinRemoveSwitchEntry(ah:HSWITCH):ULONG;
|
---|
186 | APIENTRY; 'PMSHAPI' index 129;
|
---|
187 | FUNCTION PrfQueryProgramTitles(ahini:HINI;hprogGroup:HPROGRAM;
|
---|
188 | VAR pTitles:PROGTITLE;cchBufferMax:ULONG;
|
---|
189 | VAR pulCount:ULONG):ULONG;
|
---|
190 | APIENTRY; 'PMSHAPI' index 113;
|
---|
191 | FUNCTION PrfAddProgram(ahini:HINI;VAR pDetails:PROGDETAILS;
|
---|
192 | hprogGroup:HPROGRAM):HPROGRAM;
|
---|
193 | APIENTRY; 'PMSHAPI' index 109;
|
---|
194 | FUNCTION PrfChangeProgram(ahini:HINI;hprog:HPROGRAM;
|
---|
195 | VAR pDetails:PROGDETAILS):BOOL;
|
---|
196 | APIENTRY; 'PMSHAPI' index 110;
|
---|
197 | FUNCTION PrfQueryDefinition(ahini:HINI;hprog:HPROGRAM;
|
---|
198 | VAR pDetails:PROGDETAILS;
|
---|
199 | cchBufferMax:ULONG):ULONG;
|
---|
200 | APIENTRY; 'PMSHAPI' index 111;
|
---|
201 | FUNCTION PrfRemoveProgram(ahini:HINI;hprog:HPROGRAM):BOOL;
|
---|
202 | APIENTRY; 'PMSHAPI' index 104;
|
---|
203 | FUNCTION PrfQueryProgramHandle(ahini:HINI;CONST pszExe:CSTRING;
|
---|
204 | aphprogArray:HPROGARRAY;cchBufferMax:ULONG;
|
---|
205 | VAR pulCount:ULONG):BOOL;
|
---|
206 | APIENTRY; 'PMSHAPI' index 58;
|
---|
207 | FUNCTION PrfCreateGroup(ahini:HINI;CONST pszTitle:CSTRING;
|
---|
208 | chVisibility:UCHAR):HPROGRAM;
|
---|
209 | APIENTRY; 'PMSHAPI' index 55;
|
---|
210 | FUNCTION PrfDestroyGroup(ahini:HINI;hprogGroup:HPROGRAM):BOOL;
|
---|
211 | APIENTRY; 'PMSHAPI' index 106;
|
---|
212 | FUNCTION PrfQueryProgramCategory(ahini:HINI;CONST pszExe:CSTRING):PROGCATEGORY;
|
---|
213 | APIENTRY; 'PMSHAPI' index 59;
|
---|
214 | FUNCTION WinStartApp(hwndNotify:HWND;VAR pDetails:PROGDETAILS;CONST pszParams:CSTRING;
|
---|
215 | Reserved:POINTER;fbOptions:ULONG):HAPP;
|
---|
216 | APIENTRY; 'PMSHAPI' index 119;
|
---|
217 | FUNCTION WinTerminateApp(ahapp:HAPP):BOOL;
|
---|
218 | APIENTRY; 'PMSHAPI' index 130;
|
---|
219 | FUNCTION WinChangeSwitchEntry(hswitchSwitch:HSWITCH;
|
---|
220 | VAR pswctlSwitchData:SWCNTRL):ULONG;
|
---|
221 | APIENTRY; 'PMSHAPI' index 123;
|
---|
222 | FUNCTION WinCreateSwitchEntry(ahab:HAB;VAR pswctlSwitchData:SWCNTRL):HSWITCH;
|
---|
223 | APIENTRY; 'PMSHAPI' index 121;
|
---|
224 | FUNCTION WinQuerySessionTitle(ahab:HAB;usSession:ULONG;VAR pszTitle:CSTRING;
|
---|
225 | usTitlelen:ULONG):ULONG;
|
---|
226 | APIENTRY; 'PMSHAPI' index 122;
|
---|
227 | FUNCTION WinQuerySwitchEntry(hswitchSwitch:HSWITCH;
|
---|
228 | VAR pswctlSwitchData:SWCNTRL):ULONG;
|
---|
229 | APIENTRY; 'PMSHAPI' index 124;
|
---|
230 | FUNCTION WinQuerySwitchHandle(ahwnd:HWND;pidProcess:PID):HSWITCH;
|
---|
231 | APIENTRY; 'PMSHAPI' index 125;
|
---|
232 | FUNCTION WinQuerySwitchList(ahab:HAB;VAR pswblkSwitchEntries:SWBLOCK;
|
---|
233 | usDataLength:ULONG):ULONG;
|
---|
234 | APIENTRY; 'PMSHAPI' index 126;
|
---|
235 | FUNCTION WinQueryTaskSizePos(ahab:HAB;usScreenGroup:ULONG;
|
---|
236 | VAR pswpPositionData:SWP):ULONG;
|
---|
237 | APIENTRY; 'PMSHAPI' index 127;
|
---|
238 | FUNCTION WinQueryTaskTitle(usSession:ULONG;VAR pszTitle:CSTRING;
|
---|
239 | usTitlelen:ULONG):ULONG;
|
---|
240 | APIENTRY; 'PMSHAPI' index 128;
|
---|
241 | FUNCTION WinSwitchToProgram(hswitchSwHandle:HSWITCH):ULONG;
|
---|
242 | APIENTRY; 'PMSHAPI' index 131;
|
---|
243 | FUNCTION PrfQueryProfileInt(ahini:HINI;CONST pszApp,pszKey:CSTRING;
|
---|
244 | sDefault:LONG):LONG;
|
---|
245 | APIENTRY; 'PMSHAPI' index 114;
|
---|
246 | FUNCTION PrfQueryProfileString(ahini:HINI;CONST pszApp,pszKey,pszDefault:CSTRING;
|
---|
247 | VAR pBuffer;cchBufferMax:ULONG):ULONG;
|
---|
248 | APIENTRY; 'PMSHAPI' index 115;
|
---|
249 | FUNCTION PrfWriteProfileString(ahini:HINI;CONST pszApp,pszKey,pszData:CSTRING):BOOL;
|
---|
250 | APIENTRY; 'PMSHAPI' index 116;
|
---|
251 | FUNCTION PrfQueryProfileSize(ahini:HINI;CONST pszApp,pszKey:CSTRING;
|
---|
252 | VAR pulReqLen:ULONG):BOOL;
|
---|
253 | APIENTRY; 'PMSHAPI' index 101;
|
---|
254 | FUNCTION PrfQueryProfileData(ahini:HINI;CONST pszApp,pszKey:CSTRING;VAR pBuffer;
|
---|
255 | VAR pulBuffLen:ULONG):BOOL;
|
---|
256 | APIENTRY; 'PMSHAPI' index 117;
|
---|
257 | FUNCTION PrfWriteProfileData(ahini:HINI;CONST pszApp,pszKey:CSTRING;VAR pData;
|
---|
258 | cchDataLen:ULONG):BOOL;
|
---|
259 | APIENTRY; 'PMSHAPI' index 118;
|
---|
260 | FUNCTION PrfOpenProfile(ahab:HAB;CONST pszFileName:CSTRING):HINI;
|
---|
261 | APIENTRY; 'PMSHAPI' index 102;
|
---|
262 | FUNCTION PrfCloseProfile(ahini:HINI):BOOL;
|
---|
263 | APIENTRY; 'PMSHAPI' index 103;
|
---|
264 | FUNCTION PrfReset(ahab:HAB;VAR apPrfProfile:PRFPROFILE):BOOL;
|
---|
265 | APIENTRY; 'PMSHAPI' index 108;
|
---|
266 | FUNCTION PrfQueryProfile(ahab:HAB;VAR apPrfProfile:PRFPROFILE):BOOL;
|
---|
267 | APIENTRY; 'PMSHAPI' index 107;
|
---|
268 |
|
---|
269 | END;
|
---|
270 |
|
---|
271 |
|
---|
272 | IMPLEMENTATION
|
---|
273 |
|
---|
274 | BEGIN
|
---|
275 | END.
|
---|