Changeset 3688 for trunk/src/shlwapi/ordinal.cpp
- Timestamp:
- Jun 12, 2000, 1:35:14 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shlwapi/ordinal.cpp
r3687 r3688 1 /* $Id: ordinal.cpp,v 1. 2 2000-06-12 08:09:37phaller Exp $ */1 /* $Id: ordinal.cpp,v 1.3 2000-06-12 11:35:13 phaller Exp $ */ 2 2 3 3 /* … … 916 916 917 917 918 /***************************************************************************** 919 * Name : SHLWAPI_185 920 * Purpose : some M$ nag screen ? 921 * Parameters: 922 * Variables : 923 * Result : 924 * Remark : SHLWAPI.185 925 * Status : UNTESTED 926 * 927 * Author : Patrick Haller [Sun, 2000/06/10 04:02] 928 *****************************************************************************/ 929 930 ODINFUNCTION6(DWORD, SHLWAPI_185, 931 DWORD, arg0, 932 LPSTR, lpStr1, 933 LPSTR, lpStr2, 934 DWORD, arg3, 935 DWORD, dwDefault, 936 LPSTR, lpstrValueName) 937 { 938 BOOL fDontShow; 939 WCHAR szValueNameW[256]; 940 941 fDontShow = SHRegGetBoolUSValueA("Software\\Microsoft\\Windows\\CurrentVersion\\" 942 "Explorer\\DontShowMeThisDialogAgain", 943 lpstrValueName, 944 0, 945 1); 946 if (fDontShow == FALSE) 947 return dwDefault; 948 949 int iLength1 = lstrlenA(lpStr1)+1; 950 HLOCAL hLocal1 = LocalAlloc(LMEM_ZEROINIT, 951 iLength1 << 1); 952 if (hLocal1 == NULL) 953 return dwDefault; 954 955 int iLength2 = lstrlenA(lpStr2)+1; 956 HLOCAL hLocal2 = LocalAlloc(LMEM_ZEROINIT, 957 iLength2 << 1); 958 if (hLocal2 == NULL) 959 { 960 LocalFree(hLocal1); 961 return dwDefault; 962 } 963 964 #if 0 965 // convert all ascii values to Unicode 966 SHLWAPI_215(lpStr1, (LPWSTR)hLocal1, iLength1); 967 SHLWAPI_215(lpStr2, (LPWSTR)hLocal2, iLength2); 968 SHLWAPI_215(lpstrValueName, szValueNameW, 256); 969 970 // do something 971 dwDefault = SHLWAPI_191(arg0, 972 (LPWSTR)hLocal1, 973 arg3, 974 dwDefault, 975 szValueNameW); 976 #endif 977 978 if (hLocal1) 979 LocalFree(hLocal1); 980 981 if (hLocal2) 982 LocalFree(hLocal2); 983 984 return dwDefault; 985 } 986 987 988 /***************************************************************************** 989 * Name : SHLWAPI_191 990 * Purpose : display some M$ nag screen if enabled 991 * Parameters: 992 * Variables : 993 * Result : 994 * Remark : SHLWAPI.191 995 * Status : UNTESTED 996 * 997 * Author : Patrick Haller [Sun, 2000/06/10 04:02] 998 *****************************************************************************/ 999 1000 ODINFUNCTION6(DWORD, SHLWAPI_191, 1001 HWND, hwndParent, 1002 DWORD, arg1, 1003 DWORD, arg2, 1004 DWORD, arg3, 1005 DWORD, dwDefault, 1006 LPWSTR, lpstrDialog) 1007 { 1008 BOOL rc = SHRegGetBoolUSValueW((LPCWSTR)L"Software\\Microsoft\\Windows\\CurrentVersion" 1009 L"\\Explorer\\DontShowMeThisDialogAgain", 1010 lpstrDialog, 1011 0, 1012 1); 1013 if (rc == FALSE) 1014 return dwDefault; 1015 1016 static HINSTANCE hShellInstance; // @@@PH where to put / initialize? 1017 1018 #if 0 1019 struct 1020 { 1021 DWORD s1; 1022 DWORD s2; 1023 DWORD s3; 1024 DWORD s4; 1025 } sInit; 1026 1027 sInit.s1 = "software..."; 1028 sInit.s2 = arg1; 1029 sInit.s3 = arg2; 1030 sInit.s4 = arg3; 1031 1032 return DialogBoxParamW(hShellInstance, 1033 0x1200, // some template 1034 hwndParent, 1035 i_DialogProc, 1036 &sInit); 1037 #endif 1038 1039 return dwDefault; 1040 } 1041 1042 1043 918 1044 /************************************************************************* 919 1045 * SHLWAPI_193 [SHLWAPI] … … 1037 1163 1038 1164 /***************************************************************************** 1039 * Name : LRESULT DefWindowProcAW1040 * Purpose : 1165 * Name : SHLWAPI_240 1166 * Purpose : universal window procedure 1041 1167 * Parameters: 1042 1168 * Variables : 1043 1169 * Result : 1044 * Remark : SHLWAPI.240 - this version has dynamic unicode behaviour1170 * Remark : SHLWAPI.240 1045 1171 * Status : UNTESTED 1046 1172 * … … 1048 1174 *****************************************************************************/ 1049 1175 1050 ODINFUNCTION4( LRESULT, DefWindowProcAW,1051 HWND, hWnd,1052 UINT, 1053 WPARAM, 1054 LPARAM, 1055 { 1056 if (IsWindowUnicode(h Wnd))1057 return DefWindowProcW(h Wnd, Msg, wParam, lParam);1176 ODINFUNCTION4(DWORD, SHLWAPI_240, 1177 HWND, hwnd, 1178 UINT, Msg, 1179 WPARAM, wParam, 1180 LPARAM, lParam) 1181 { 1182 if (IsWindowUnicode(hwnd)) 1183 return DefWindowProcW(hwnd, Msg, wParam, lParam); 1058 1184 else 1059 return DefWindowProcA(h Wnd, Msg, wParam, lParam);1185 return DefWindowProcA(hwnd, Msg, wParam, lParam); 1060 1186 } 1061 1187 … … 1070 1196 return 0xabba1243; 1071 1197 } 1198 1199 1200 /***************************************************************************** 1201 * Name : SHLWAPI_243 1202 * Purpose : does something critical, even with performance counters 1203 * Parameters: 1204 * Variables : 1205 * Result : 1206 * Remark : SHLWAPI.243 1207 * Status : UNTESTED 1208 * 1209 * Author : Patrick Haller [Sun, 2000/06/10 04:02] 1210 *****************************************************************************/ 1211 1212 ODINFUNCTION5(DWORD, SHLWAPI_243, 1213 DWORD, arg0, 1214 DWORD, arg1, 1215 DWORD, arg2, 1216 DWORD, arg3, 1217 DWORD, arg4) 1218 { 1219 dprintf(("not implementes.\n")); 1220 return 0; 1221 } 1222 1072 1223 1073 1224 /************************************************************************* … … 1186 1337 1187 1338 1339 /***************************************************************************** 1340 * Name : DWORD SHLWAPI_376 1341 * Purpose : Try to determine user interface language 1342 * Parameters: 1343 * Variables : 1344 * Result : 1345 * Remark : SHLWAPI.366 1346 * Status : UNTESTED 1347 * 1348 * Author : Patrick Haller [Sun, 2000/06/10 04:02] 1349 *****************************************************************************/ 1350 1351 ODINFUNCTION0(DWORD, SHLWAPI_376) 1352 { 1353 /* Microsoft does a hell of a job here: looks for 1354 * - Internet Explorer 1355 * - Office 1356 * - Lpk ? 1357 * - Resource Locales 1358 * - etc. 1359 */ 1360 1361 return 0x0409; // @@@PH maybe this is 'nuf for now. 1362 } 1363 1364 1188 1365 1189 1366 /************************************************************************* 1190 1367 * SHLWAPI_377 [SHLWAPI] 1191 1368 */ 1192 ODINFUNCTION3(DWORD, SHLWAPI_377, 1193 LPVOID, x, 1194 LPVOID, y, 1195 LPVOID, z) 1196 { 1197 FIXME("(%p %p %p)stub\n", x,y,z); 1198 return 0xabba1246; 1369 ODINFUNCTION3(DWORD, SHLWAPI_377, 1370 LPSTR, lpstrModule, 1371 HMODULE, hModule, 1372 LPVOID, z) 1373 { 1374 static BOOL flagSHLWAPI_377Initialized = FALSE; 1375 static BOOL flagInternetExplorerCheckVersion = FALSE; 1376 1377 dprintf(("not (properly) implemented.\n")); 1378 1379 char szModuleName[260]; // MAXPATHLEN 1380 HMODULE hModLanguage; 1381 1382 // initialize this subsystem 1383 if (flagSHLWAPI_377Initialized == FALSE) 1384 { 1385 flagSHLWAPI_377Initialized = TRUE; 1386 1387 flagInternetExplorerCheckVersion = 1388 SHRegGetBoolUSValueA("Software\\Microsoft\\Internet Explorer\\International", 1389 "CheckVersion", 1390 1, 1391 1); 1392 } 1393 1394 if (lpstrModule == NULL) // Garbage in - garbage out 1395 return 0; 1396 1397 if (0 == GetModuleFileNameA(hModule, 1398 szModuleName, 1399 sizeof(szModuleName))) 1400 { 1401 // treat error 1402 } 1403 else 1404 { 1405 PathRemoveFileSpecA(szModuleName); 1406 PathAppendA(szModuleName, 1407 lpstrModule); 1408 // @@@PH twiddle around with the current IE codepage 1409 hModLanguage = LoadLibraryA(szModuleName); 1410 } 1411 1412 1413 return hModLanguage; 1199 1414 } 1200 1415
Note:
See TracChangeset
for help on using the changeset viewer.