Ignore:
Timestamp:
Jun 12, 2000, 1:35:14 PM (25 years ago)
Author:
phaller
Message:

.

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:37 phaller Exp $ */
     1/* $Id: ordinal.cpp,v 1.3 2000-06-12 11:35:13 phaller Exp $ */
    22
    33/*
     
    916916
    917917
     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
     930ODINFUNCTION6(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
     1000ODINFUNCTION6(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
    9181044/*************************************************************************
    9191045*      SHLWAPI_193 [SHLWAPI]
     
    10371163
    10381164/*****************************************************************************
    1039  * Name      : LRESULT DefWindowProcAW
    1040  * Purpose   :
     1165 * Name      : SHLWAPI_240
     1166 * Purpose   : universal window procedure
    10411167 * Parameters:
    10421168 * Variables :
    10431169 * Result    :
    1044  * Remark    : SHLWAPI.240 - this version has dynamic unicode behaviour
     1170 * Remark    : SHLWAPI.240
    10451171 * Status    : UNTESTED
    10461172 *
     
    10481174 *****************************************************************************/
    10491175
    1050 ODINFUNCTION4(LRESULT,      DefWindowProcAW,
    1051               HWND,         hWnd,
    1052               UINT,         Msg,
    1053               WPARAM,       wParam,
    1054               LPARAM,       lParam)
    1055 {
    1056   if (IsWindowUnicode(hWnd))
    1057     return DefWindowProcW(hWnd, Msg, wParam, lParam);
     1176ODINFUNCTION4(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);
    10581184  else
    1059     return DefWindowProcA(hWnd, Msg, wParam, lParam);
     1185    return DefWindowProcA(hwnd, Msg, wParam, lParam);
    10601186}
    10611187
     
    10701196  return 0xabba1243;
    10711197}
     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
     1212ODINFUNCTION5(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
    10721223
    10731224/*************************************************************************
     
    11861337
    11871338
     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
     1351ODINFUNCTION0(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
    11881365
    11891366/*************************************************************************
    11901367*      SHLWAPI_377 [SHLWAPI]
    11911368*/
    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;
     1369ODINFUNCTION3(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;
    11991414}
    12001415
Note: See TracChangeset for help on using the changeset viewer.