1 | #define LINT_ARGS /* argument checking enabled */
|
---|
2 |
|
---|
3 |
|
---|
4 | int acrtused=1; /* Define variable to say this is a DLL */
|
---|
5 |
|
---|
6 | #include "uni.h"
|
---|
7 |
|
---|
8 | #include <stdlib.h>
|
---|
9 | #include <string.h>
|
---|
10 | #include <ctype.h>
|
---|
11 | #include <stdarg.h>
|
---|
12 | #include <stdio.h>
|
---|
13 | #include <stdlib.h>
|
---|
14 | #include "utils.h"
|
---|
15 |
|
---|
16 | MRESULT EXPENTRY CommDlg( HWND hDlg, USHORT msg, MPARAM mp1, MPARAM mp2 )
|
---|
17 | {
|
---|
18 | PUNIDATA pUniData;
|
---|
19 | ULONG ulTimeOut = 0 ;
|
---|
20 | CHAR szDesc[ STR_LEN_PORTDESC ];
|
---|
21 | CHAR szShareName[ STR_LEN_PORTDESC ];
|
---|
22 | CHAR szTitle[ STR_LEN_TITLE + 1];
|
---|
23 | CHAR szTemp[ STR_LEN_PORTDESC ];
|
---|
24 | CHAR pwBuffer[256];
|
---|
25 | USHORT i;
|
---|
26 | ULONG rc = 0;
|
---|
27 | PUCHAR token;
|
---|
28 |
|
---|
29 | switch (msg)
|
---|
30 | {
|
---|
31 | case WM_INITDLG:
|
---|
32 | // WinSendDlgItemMsg(hDlg,ID_BINARY,BM_SETCHECK,MPFROM2SHORT(1,0),NULL);
|
---|
33 | pUniData = (PUNIDATA)mp2;
|
---|
34 | WinSetWindowULong (hDlg, QWL_USER, (ULONG)pUniData);
|
---|
35 | if (PrfQueryProfileString (HINI_SYSTEMPROFILE,
|
---|
36 | pUniData->pszAppName,
|
---|
37 | KEY_DESCRIPTION,
|
---|
38 | NULL,
|
---|
39 | (PSZ)szDesc,
|
---|
40 | STR_LEN_PORTDESC))
|
---|
41 | {
|
---|
42 | WinSetWindowText (WinWindowFromID (hDlg, (USHORT)IDD_UNI),szDesc);
|
---|
43 | rc = WinLoadString(pUniData->hAB,
|
---|
44 | pUniData->hModule,
|
---|
45 | PDR_ID_PROPERTIES,
|
---|
46 | STR_LEN_PORTDESC, szTemp);
|
---|
47 | if (rc) {
|
---|
48 | strcpy ( szTitle, pUniData->pszPortName );
|
---|
49 | strcat ( szTitle, " - " );
|
---|
50 | strcat ( szTitle, szTemp );
|
---|
51 | WinSetWindowText (hDlg, szTitle);
|
---|
52 | }
|
---|
53 | }
|
---|
54 | if (PrfQueryProfileString (HINI_SYSTEMPROFILE,
|
---|
55 | pUniData->pszAppName,
|
---|
56 | KEY_INITIALIZATION,
|
---|
57 | NULL,
|
---|
58 | szTemp,
|
---|
59 | sizeof(szTemp)))
|
---|
60 | {
|
---|
61 | i = 0;
|
---|
62 | token = lprtok(szTemp,"#");
|
---|
63 | while (token != NULL)
|
---|
64 | {
|
---|
65 | switch(i)
|
---|
66 | {
|
---|
67 | case 0:
|
---|
68 | WinSetDlgItemText(hDlg,ID_PROGRAM,token);
|
---|
69 | case 1:
|
---|
70 | if (token[ strlen(token) - 1 ] == ';')
|
---|
71 | token[ strlen(token)-1 ] = '\0';
|
---|
72 | WinSetDlgItemText(hDlg,ID_PARAMETERS,token);
|
---|
73 | break;
|
---|
74 | case 2:
|
---|
75 | if (token[ strlen(token) - 1 ] == ';')
|
---|
76 | token[ strlen(token)-1 ] = '\0';
|
---|
77 | WinSetDlgItemText(hDlg,ID_DIRECTORY,token);
|
---|
78 | break;
|
---|
79 | }
|
---|
80 | i++;
|
---|
81 | token = lprtok(NULL,"#");
|
---|
82 | }
|
---|
83 | }
|
---|
84 | break;
|
---|
85 |
|
---|
86 | case WM_COMMAND:
|
---|
87 | pUniData = (PUNIDATA)WinQueryWindowULong (hDlg, QWL_USER);
|
---|
88 | switch (SHORT1FROMMP(mp1))
|
---|
89 | {
|
---|
90 | case DID_OK:
|
---|
91 | sprintf(szDesc," ");
|
---|
92 | /* Program */
|
---|
93 | WinQueryDlgItemText (hDlg, ID_PROGRAM, sizeof(szTemp), szTemp );
|
---|
94 | strcat(pUniData->szSaveLprSetting,szTemp);
|
---|
95 | strcat(pUniData->szSaveLprSetting,"#");
|
---|
96 |
|
---|
97 | if (strlen(szTemp) > 0) {
|
---|
98 | strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
|
---|
99 | strncat(szDesc, szTemp, STR_LEN_PORTDESC - 1);
|
---|
100 | }
|
---|
101 | /* strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
|
---|
102 | strncat(szDesc, szShareName, STR_LEN_PORTDESC - 1); */
|
---|
103 |
|
---|
104 | /* Parameters */
|
---|
105 | WinQueryDlgItemText (hDlg, ID_PARAMETERS, sizeof(szTemp), szTemp );
|
---|
106 | strcat(pUniData->szSaveLprSetting,szTemp);
|
---|
107 | strcat(pUniData->szSaveLprSetting,"#");
|
---|
108 |
|
---|
109 | if (strlen(szTemp) > 0) {
|
---|
110 | strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
|
---|
111 | strncat(szDesc, szTemp, STR_LEN_PORTDESC - 1);
|
---|
112 | }
|
---|
113 | /* strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
|
---|
114 | strncat(szDesc, szShareName, STR_LEN_PORTDESC - 1); */
|
---|
115 |
|
---|
116 | /* Working directory */
|
---|
117 | WinQueryDlgItemText (hDlg, ID_DIRECTORY, sizeof(szTemp), szTemp );
|
---|
118 | strcat(pUniData->szSaveLprSetting,szTemp);
|
---|
119 | /* strcat(pUniData->szSaveLprSetting,"#"); */
|
---|
120 |
|
---|
121 | /* if (strlen(szTemp) > 0) {
|
---|
122 | strncat(szShareName, "\\", STR_LEN_PORTDESC - 1);
|
---|
123 | strncat(szShareName, szTemp, STR_LEN_PORTDESC - 1);
|
---|
124 | } */
|
---|
125 | /* Username */
|
---|
126 | /* WinQueryDlgItemText (hDlg, ID_USER, sizeof(szTemp), szTemp );
|
---|
127 | strcat(pUniData->szSaveLprSetting,"#");
|
---|
128 | strcat(pUniData->szSaveLprSetting,szTemp); */
|
---|
129 | /* Number of copies */
|
---|
130 | /* WinQueryDlgItemText (hDlg, ID_COPIES, sizeof(szTemp), szTemp );
|
---|
131 | strcat(pUniData->szSaveLprSetting,"#");
|
---|
132 | strcat(pUniData->szSaveLprSetting,szTemp); */
|
---|
133 | /* Password - must be the last item! */
|
---|
134 | /* WinQueryDlgItemText (hDlg, ID_PASSWORD, sizeof(szTemp), szTemp );
|
---|
135 | strcat(pUniData->szSaveLprSetting,"#");
|
---|
136 | strcpy(pwBuffer,szTemp);
|
---|
137 | encryptPassword(pwBuffer,szTemp);
|
---|
138 | strcat(pUniData->szSaveLprSetting,szTemp);
|
---|
139 | */
|
---|
140 | if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
|
---|
141 | pUniData->pszAppName,
|
---|
142 | KEY_INITIALIZATION,
|
---|
143 | pUniData->szSaveLprSetting))
|
---|
144 | WinDismissDlg(hDlg, MBID_CANCEL);
|
---|
145 |
|
---|
146 | if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
|
---|
147 | APPNAME_PM_SPOOLER_PORT,
|
---|
148 | pUniData->pszPortName,
|
---|
149 | pUniData->szSaveLprSetting))
|
---|
150 | WinDismissDlg(hDlg, MBID_CANCEL);
|
---|
151 |
|
---|
152 | if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
|
---|
153 | pUniData->pszAppName,
|
---|
154 | KEY_DESCRIPTION,
|
---|
155 | szDesc ))
|
---|
156 | WinDismissDlg(hDlg, MBID_CANCEL);
|
---|
157 |
|
---|
158 | WinDismissDlg(hDlg, TRUE);
|
---|
159 | break;
|
---|
160 | case DID_CANCEL:
|
---|
161 | WinDismissDlg(hDlg, MBID_CANCEL);
|
---|
162 | break;
|
---|
163 | }
|
---|
164 | break;
|
---|
165 | default:
|
---|
166 | return WinDefDlgProc(hDlg, msg, mp1, mp2) ;
|
---|
167 | break;
|
---|
168 | }
|
---|
169 | return FALSE;
|
---|
170 | }
|
---|
171 |
|
---|
172 | ULONG OpenUniPortDlg ( HAB hab,
|
---|
173 | HMODULE hModule,
|
---|
174 | PSZ pszPortName,
|
---|
175 | PSZ pszAppName )
|
---|
176 | {
|
---|
177 | UNIDATA UniData;
|
---|
178 |
|
---|
179 | memset (&UniData, 0, sizeof (UNIDATA));
|
---|
180 | UniData.hAB = hab;
|
---|
181 | UniData.hModule = hModule;
|
---|
182 | UniData.pszPortName = pszPortName;
|
---|
183 | UniData.pszAppName = pszAppName;
|
---|
184 |
|
---|
185 | WinDlgBox (HWND_DESKTOP,
|
---|
186 | HWND_DESKTOP,
|
---|
187 | (PFNWP)CommDlg,
|
---|
188 | (HMODULE)hModule,
|
---|
189 | IDD_UNI,
|
---|
190 | &UniData);
|
---|
191 |
|
---|
192 | return UniData.lfModified;
|
---|
193 | }
|
---|
194 |
|
---|