Ignore:
Timestamp:
Jun 1, 1999, 10:05:43 AM (26 years ago)
Author:
phaller
Message:

Added ShellMessageBoxA=SHELL32.183, ShellMessageBoxW=SHELL32.182

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/shell32.cpp

    r4 r22  
    1 /* $Id: shell32.cpp,v 1.1 1999-05-24 20:19:57 ktk Exp $ */
     1/* $Id: shell32.cpp,v 1.2 1999-06-01 08:05:42 phaller Exp $ */
    22
    33/*
     
    11431143
    11441144/*************************************************************************
    1145  *           SHELL32_183            [SHELL32.183]
    1146  * Format and output errormessage.
    1147  */
    1148 //void __cdecl SHELL32_183(HMODULE hmod,
    1149 // CDECL ? really ?
    1150 void WIN32API SHELL32_183(HMODULE hmod,
    1151                              HWND    hwnd,
    1152                              DWORD   id,
    1153                              DWORD   x,
    1154                              DWORD   type,
    1155                              LPVOID  arglist)
    1156 {
    1157   char   buf[100],
    1158          buf2[100],
    1159          *buf3;
    1160   LPVOID args = &arglist;
    1161 
    1162   dprintf(("SHELL32: .183 (%08xh, %08xh, %08xh, %08xh, %08xh, %08xh) not implemented.\n",
    1163            hmod,
    1164            hwnd,
    1165            id,
    1166            x,
    1167            type,
    1168            arglist));
    1169 
    1170   if (!LoadStringA(hmod,
    1171                      x,
    1172                      buf,
    1173                      100))
    1174     strcpy(buf,
    1175            "Desktop");
    1176 
    1177   LoadStringA(hmod,
    1178                 id,
    1179                 buf2,
    1180                 100);
    1181 
    1182   /* FIXME: the varargs handling doesn't. */
    1183   FormatMessageA(0x500,
    1184                    buf2,
    1185                    0,
    1186                    0,
    1187                    (LPSTR)&buf3,
    1188                    256,
    1189                    (LPDWORD)&args);
    1190 
    1191   MessageBoxA(hwnd,
    1192                 buf3,
    1193                 buf,
    1194                 id|0x10000);
    1195 }
    1196 
    1197 
    1198 /*************************************************************************
    11991145 *           SHELL32_100            [SHELL32.100]
    12001146 * walks through policy table, queries <app> key, <type> value, returns
     
    16631609}
    16641610
     1611
     1612/*****************************************************************************
     1613 * Name      : DWORD ShellMessageBoxW
     1614 * Purpose   : display a messagebox, retrieve message text from resources
     1615 * Parameters: HMODULE hmod
     1616 *             HWND    hwnd
     1617 *             DWORD   idText
     1618 *             DWORD   idTitle
     1619 *             DWORD   uType
     1620 *             LPCVOID arglist
     1621 * Variables :
     1622 * Result    :
     1623 * Remark    : SHELL32.182
     1624 * Status    : UNTESTED STUB
     1625 *
     1626 * Author    : Patrick Haller [Tue, 1999/06/01 09:00]
     1627 *****************************************************************************/
     1628
     1629DWORD WIN32API ShellMessageBoxW(HMODULE hmod,
     1630                                HWND    hwnd,
     1631                                DWORD   idText,
     1632                                DWORD   idTitle,
     1633                                DWORD   uType,
     1634                                LPCVOID arglist)
     1635{       
     1636  WCHAR  szText[100],
     1637         szTitle[100],
     1638         szTemp[256];
     1639  LPWSTR pszText = &szText[0],
     1640         pszTitle = &szTitle[0];
     1641  LPVOID args = &arglist;
     1642
     1643  dprintf(("SHELL32: ShellMessageBoxW(%08lx,%08lx,%08lx,%08lx,%08lx,%p)\n",
     1644           hmod,
     1645           hwnd,
     1646           idText,
     1647           idTitle,
     1648           uType,
     1649           arglist));
     1650
     1651  if (!HIWORD (idTitle))
     1652    LoadStringW(hmod,
     1653                idTitle,
     1654                pszTitle,
     1655                100);
     1656  else
     1657    pszTitle = (LPWSTR)idTitle;
     1658
     1659  if (! HIWORD (idText))
     1660    LoadStringW(hmod,idText,pszText,100);
     1661  else
     1662    pszText = (LPWSTR)idText;
     1663
     1664  FormatMessageW(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY,
     1665                 szText,
     1666                 0,
     1667                 0,
     1668                 szTemp,
     1669                 256,
     1670                 (LPDWORD)args);
     1671
     1672  return MessageBoxW(hwnd,
     1673                     szTemp,
     1674                     szTitle,
     1675                     uType);
     1676}
     1677
     1678/*****************************************************************************
     1679 * Name      : DWORD ShellMessageBoxA
     1680 * Purpose   : display a messagebox, retrieve message text from resources
     1681 * Parameters: HMODULE hmod
     1682 *             HWND    hwnd
     1683 *             DWORD   idText
     1684 *             DWORD   idTitle
     1685 *             DWORD   uType
     1686 *             LPCVOID arglist
     1687 * Variables :
     1688 * Result    :
     1689 * Remark    : SHELL32.183
     1690 * Status    : UNTESTED STUB
     1691 *
     1692 * Author    : Patrick Haller [Tue, 1999/06/01 09:00]
     1693 *****************************************************************************/
     1694
     1695DWORD WIN32API ShellMessageBoxA(HMODULE hmod,
     1696                                HWND    hwnd,
     1697                                DWORD   idText,
     1698                                DWORD   idTitle,
     1699                                DWORD   uType,
     1700                                LPCVOID arglist)
     1701{
     1702  char   szText[100],
     1703         szTitle[100],
     1704         szTemp[256];
     1705  LPSTR  pszText = &szText[0],
     1706         pszTitle = &szTitle[0];
     1707  LPVOID args = &arglist;
     1708
     1709  dprintf(("SHELL32: ShellMessageBoxA (%08lx,%08lx,%08lx,%08lx,%08lx,%p)\n",
     1710           hmod,
     1711           hwnd,
     1712           idText,
     1713           idTitle,
     1714           uType,
     1715           arglist));
     1716
     1717  if (!HIWORD (idTitle))
     1718    LoadStringA(hmod,idTitle,pszTitle,100);
     1719  else
     1720    pszTitle = (LPSTR)idTitle;
     1721
     1722  if (! HIWORD (idText))
     1723    LoadStringA(hmod,idText,pszText,100);
     1724  else
     1725    pszText = (LPSTR)idText;
     1726
     1727  FormatMessageA(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY,
     1728                 pszText,
     1729                 0,
     1730                 0,
     1731                 szTemp,
     1732                 256,
     1733                 (LPDWORD)args);
     1734
     1735  return MessageBoxA(hwnd,
     1736                     szTemp,
     1737                     pszTitle,
     1738                     uType);
     1739}
    16651740
    16661741
Note: See TracChangeset for help on using the changeset viewer.