Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2015
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.39 KB | None | 0 0
  1. // Return the relevant macro value
  2.     switch (i)
  3.     {
  4.         case M_CR:
  5.             vResult = "\r";
  6.             break;
  7.         case M_LF:
  8.             vResult = "\n";
  9.             break;
  10.         case M_CRLF:
  11.             vResult = "\r\n";
  12.             break;
  13.         case M_TAB:
  14.             vResult = "\t";
  15.             break;
  16.  
  17.         case M_ERROR:
  18.             vResult = m_nFuncErrorCode; // Extended function error code
  19.             break;
  20.  
  21.         case M_EXTENDED:
  22.             vResult = m_nFuncExtCode;   // Extended function code
  23.             break;
  24.  
  25.         case M_SEC:
  26.             sprintf(szValue, "%.2d", newtime->tm_sec);
  27.             vResult = szValue;
  28.             break;
  29.  
  30.         case M_MIN:
  31.             sprintf(szValue, "%.2d", newtime->tm_min);
  32.             vResult = szValue;
  33.             break;
  34.  
  35.         case M_HOUR:
  36.             sprintf(szValue, "%.2d", newtime->tm_hour);
  37.             vResult = szValue;
  38.             break;
  39.  
  40.         case M_MDAY:
  41.             sprintf(szValue, "%.2d", newtime->tm_mday);
  42.             vResult = szValue;
  43.             break;
  44.  
  45.         case M_MON:
  46.             sprintf(szValue, "%.2d", newtime->tm_mon + 1);
  47.             vResult = szValue;
  48.             break;
  49.  
  50.         case M_YEAR:
  51.             vResult = int(newtime->tm_year + 1900);
  52.             break;
  53.  
  54.         case M_WDAY:
  55.             vResult = int(newtime->tm_wday + 1);
  56.             break;
  57.  
  58.         case M_YDAY:
  59.             sprintf(szValue, "%.3d", newtime->tm_yday);
  60.             vResult = szValue;
  61.             break;
  62.  
  63.         case M_PROGRAMFILESDIR:
  64.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "ProgramFilesDir", _MAX_PATH, szValue);
  65.             vResult = szValue;
  66.             break;
  67.         case M_COMMONFILESDIR:
  68.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "CommonFilesDir", _MAX_PATH, szValue);
  69.             vResult = szValue;
  70.             break;
  71.  
  72.         case M_MYDOCUMENTSDIR:
  73.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Personal", _MAX_PATH, szValue);
  74.             Util_StripTrailingDir(szValue);     // Remove trailing blackslash
  75.             vResult = szValue;
  76.             break;
  77.  
  78.         case M_APPDATACOMMONDIR:
  79.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common AppData", _MAX_PATH, szValue);
  80.             vResult = szValue;
  81.             break;
  82.         case M_DESKTOPCOMMONDIR:
  83.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Desktop", _MAX_PATH, szValue);
  84.             if (szValue[0] == '\0')
  85.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Desktop", _MAX_PATH, szValue);
  86.             vResult = szValue;
  87.             break;
  88.         case M_DOCUMENTSCOMMONDIR:
  89.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Documents", _MAX_PATH, szValue);
  90.             vResult = szValue;
  91.             break;
  92.         case M_FAVORITESCOMMONDIR:
  93.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Favorites", _MAX_PATH, szValue);
  94.             if (szValue[0] == '\0')
  95.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Favorites", _MAX_PATH, szValue);
  96.             vResult = szValue;
  97.             break;
  98.         case M_PROGRAMSCOMMONDIR:
  99.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Programs", _MAX_PATH, szValue);
  100.             if (szValue[0] == '\0')
  101.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Programs", _MAX_PATH, szValue);
  102.             vResult = szValue;
  103.             break;
  104.         case M_STARTMENUCOMMONDIR:
  105.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Start Menu", _MAX_PATH, szValue);
  106.             if (szValue[0] == '\0')
  107.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Start Menu", _MAX_PATH, szValue);
  108.             vResult = szValue;
  109.             break;
  110.         case M_STARTUPCOMMONDIR:
  111.             Util_RegReadString(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common Startup", _MAX_PATH, szValue);
  112.             if (szValue[0] == '\0')
  113.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Startup", _MAX_PATH, szValue);
  114.             vResult = szValue;
  115.             break;
  116.  
  117.         case M_APPDATADIR:
  118.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData", _MAX_PATH, szValue);
  119.             vResult = szValue;
  120.             break;
  121.         case M_DESKTOPDIR:
  122.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Desktop", _MAX_PATH, szValue);
  123.             vResult = szValue;
  124.             break;
  125.         case M_FAVORITESDIR:
  126.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Favorites", _MAX_PATH, szValue);
  127.             vResult = szValue;
  128.             break;
  129.         case M_PROGRAMSDIR:
  130.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Programs", _MAX_PATH, szValue);
  131.             vResult = szValue;
  132.             break;
  133.         case M_STARTMENUDIR:
  134.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Start Menu", _MAX_PATH, szValue);
  135.             vResult = szValue;
  136.             break;
  137.         case M_STARTUPDIR:
  138.             Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Startup", _MAX_PATH, szValue);
  139.             vResult = szValue;
  140.             break;
  141.  
  142.         case M_COMPUTERNAME:
  143.             dwTemp = _MAX_PATH;
  144.             GetComputerName(szValue, &dwTemp);
  145.             vResult = szValue;
  146.             break;
  147.  
  148.         case M_WINDOWSDIR:
  149.             GetWindowsDirectory(szValue, _MAX_PATH);
  150.             vResult = szValue;
  151.             break;
  152.         case M_SYSTEMDIR:
  153.             GetSystemDirectory(szValue, _MAX_PATH);
  154.             vResult = szValue;
  155.             break;
  156.  
  157.         case M_SW_HIDE:
  158.             vResult = SW_HIDE;
  159.             break;
  160.         case M_SW_MINIMIZE:
  161.             vResult = SW_MINIMIZE;
  162.             break;
  163.         case M_SW_MAXIMIZE:
  164.             vResult = SW_MAXIMIZE;
  165.             break;
  166.         case M_SW_RESTORE:
  167.             vResult = SW_RESTORE;
  168.             break;
  169.         case M_SW_SHOW:
  170.             vResult = SW_SHOW;
  171.             break;
  172.         case M_SW_SHOWDEFAULT:
  173.             vResult = SW_SHOWDEFAULT;
  174.             break;
  175.         case M_SW_SHOWMAXIMIZED:
  176.             vResult = SW_SHOWMAXIMIZED;
  177.             break;
  178.         case M_SW_SHOWMINIMIZED:
  179.             vResult = SW_SHOWMINIMIZED;
  180.             break;
  181.         case M_SW_SHOWMINNOACTIVE:
  182.             vResult = SW_SHOWMINNOACTIVE;
  183.             break;
  184.         case M_SW_SHOWNA:
  185.             vResult = SW_SHOWNA;
  186.             break;
  187.         case M_SW_SHOWNOACTIVATE:
  188.             vResult = SW_SHOWNOACTIVATE;
  189.             break;
  190.         case M_SW_SHOWNORMAL:
  191.             vResult = SW_SHOWNORMAL;
  192.             break;
  193.  
  194.         case M_SCRIPTFULLPATH:
  195.             vResult = m_sScriptFullPath.c_str();
  196.             break;
  197.         case M_SCRIPTNAME:
  198.             vResult = m_sScriptName.c_str();
  199.             break;
  200.         case M_SCRIPTDIR:
  201.             vResult = m_sScriptDir.c_str();
  202.             break;
  203.         case M_WORKINGDIR:
  204.             GetCurrentDirectory(_MAX_PATH, szValue);
  205.             vResult = szValue;
  206.             break;
  207.  
  208.         case M_OSTYPE:
  209.             if ( g_oVersion.IsWinNT() == true )
  210.                 vResult = "WIN32_NT";
  211.             else
  212.                 vResult = "WIN32_WINDOWS";
  213.             break;
  214.  
  215.         case M_OSVERSION:
  216.             if ( g_oVersion.IsWinNT() == true )
  217.             {
  218.                 if (g_oVersion.IsWin2003() == true)
  219.                     vResult = "WIN_2003";
  220.                 else if (g_oVersion.IsWinXP() == true)
  221.                     vResult = "WIN_XP";
  222.                 else if (g_oVersion.IsWin2000() == true)
  223.                     vResult = "WIN_2000";
  224.                 else
  225.                     vResult = "WIN_NT4";
  226.             }
  227.             else
  228.             {
  229.                 if (g_oVersion.IsWin95() == true)
  230.                     vResult = "WIN_95";
  231.                 else if (g_oVersion.IsWin98() == true)
  232.                     vResult = "WIN_98";
  233.                 else
  234.                     vResult = "WIN_ME";
  235.             } // End If
  236.             break;
  237.  
  238.         case M_OSBUILD:
  239.             vResult = (int)g_oVersion.BuildNumber();
  240.             break;
  241.  
  242.         case M_OSSERVICEPACK:
  243.             vResult = g_oVersion.CSD();
  244.  
  245.             break;
  246.  
  247.         case M_OSLANG:
  248.             if ( g_oVersion.IsWinNT() == true )
  249.             {
  250.                 if ( g_oVersion.IsWin2000orLater() == true )
  251.                     Util_RegReadString(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Control\\Nls\\Language", "InstallLanguage", _MAX_PATH, szValue);
  252.                 else      // WinNT4
  253.                     Util_RegReadString(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Control\\Nls\\Language", "Default", _MAX_PATH, szValue);
  254.  
  255.                 vResult = szValue;
  256.             }
  257.  
  258.             else         // Win9x
  259.             {
  260.                 Util_RegReadString(HKEY_USERS,".DEFAULT\\Control Panel\\Desktop\\ResourceLocale", "", _MAX_PATH, szValue);
  261.                 vResult = &szValue[4];
  262.             }
  263.  
  264.             break;
  265.  
  266.  
  267.         case M_AUTOITVERSION:
  268.             GetModuleFileName (NULL, szValue, sizeof(szValue));
  269.  
  270.             Util_GetFileVersion(szValue, szValue2);
  271.             vResult = szValue2;
  272.             break;
  273.  
  274.         case M_AUTOITEXE:
  275.             GetModuleFileName (NULL, szValue, sizeof(szValue));
  276.             vResult = szValue;
  277.             break;
  278.  
  279.  
  280.         case M_IPADDRESS1:
  281.             Util_GetIPAddress(1, szInetAddr);
  282.             vResult = szInetAddr;
  283.             break;
  284.         case M_IPADDRESS2:
  285.             Util_GetIPAddress(2, szInetAddr);
  286.             vResult = szInetAddr;
  287.             break;
  288.         case M_IPADDRESS3:
  289.             Util_GetIPAddress(3, szInetAddr);
  290.             vResult = szInetAddr;
  291.             break;
  292.         case M_IPADDRESS4:
  293.             Util_GetIPAddress(4, szInetAddr);
  294.             vResult = szInetAddr;
  295.             break;
  296.  
  297.         case M_DESKTOPWIDTH:
  298.             GetWindowRect(GetDesktopWindow(), &rTemp);
  299.             vResult = (int)(rTemp.right);
  300.             break;
  301.         case M_DESKTOPHEIGHT:
  302.             GetWindowRect(GetDesktopWindow(), &rTemp);
  303.             vResult = (int)(rTemp.bottom);
  304.             break;
  305.         case M_DESKTOPDEPTH:
  306.             hWnd = GetDesktopWindow();
  307.             hdc = GetDC(hWnd);
  308.             vResult = (int)GetDeviceCaps(hdc, BITSPIXEL);
  309.             ReleaseDC(hWnd, hdc);
  310.             break;
  311.         case M_DESKTOPREFRESH:
  312.             hWnd = GetDesktopWindow();
  313.             hdc = GetDC(hWnd);
  314.             vResult = (int)GetDeviceCaps(hdc, VREFRESH);
  315.             ReleaseDC(hWnd, hdc);
  316.             break;
  317.  
  318.         case M_COMSPEC:
  319.             GetEnvironmentVariable("COMSPEC", szValue, _MAX_PATH);
  320.             vResult = szValue;
  321.             break;
  322.  
  323.         case M_TEMPDIR:
  324.             GetTempPath(_MAX_PATH, szValue);
  325.             Util_StripTrailingDir(szValue);     // Remove trailing backslash
  326.             vResult = szValue;
  327.             break;
  328.  
  329.         case M_USERNAME:
  330.             dwTemp = _MAX_PATH;
  331.             GetUserName(szValue, &dwTemp);
  332.             vResult = szValue;
  333.             break;
  334.  
  335. #ifndef AUTOITSC
  336.         case M_COMPILED:
  337.             vResult = 0;
  338.             break;
  339. #else
  340.         case M_COMPILED:
  341.             vResult = 1;
  342.             break;
  343. #endif
  344.  
  345.         case M_USERPROFILEDIR:
  346.             // Deceptively difficult as all the API functions for obtaining this rely on IE4+
  347.             if (g_oVersion.IsWinNT())
  348.                 GetEnvironmentVariable("USERPROFILE", szValue, _MAX_PATH);
  349.             else
  350.             {
  351.                 // Get the users desktop dir and remove the last \ char
  352.                 Util_RegReadString(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Desktop", _MAX_PATH, szValue);
  353.                 for (nTemp = (int)strlen(szValue)-1; nTemp >= 0 && szValue[nTemp] != '\\'; --nTemp);
  354.                 szValue[nTemp] = '\0';
  355.             }
  356.  
  357.             vResult = szValue;
  358.             break;
  359.  
  360.         case M_HOMEDRIVE:
  361.             GetEnvironmentVariable("HOMEDRIVE", szValue, _MAX_PATH);
  362.             vResult = szValue;
  363.             break;
  364.  
  365.         case M_HOMEPATH:
  366.             GetEnvironmentVariable("HOMEPATH", szValue, _MAX_PATH);
  367.             vResult = szValue;
  368.             break;
  369.  
  370.         case M_HOMESHARE:
  371.             GetEnvironmentVariable("HOMESHARE", szValue, _MAX_PATH);
  372.             vResult = szValue;
  373.             break;
  374.  
  375.         case M_LOGONSERVER:
  376.             GetEnvironmentVariable("LOGONSERVER", szValue, _MAX_PATH);
  377.             vResult = szValue;
  378.             break;
  379.  
  380.         case M_LOGONDOMAIN:
  381.             GetEnvironmentVariable("USERDOMAIN", szValue, _MAX_PATH);
  382.             vResult = szValue;
  383.             break;
  384.  
  385.         case M_LOGONDNSDOMAIN:
  386.             GetEnvironmentVariable("USERDNSDOMAIN", szValue, _MAX_PATH);
  387.             vResult = szValue;
  388.             break;
  389.  
  390.         case M_INETGETBYTESREAD:
  391.             vResult = m_InetGetDetails.nBytesRead;
  392.             break;
  393.         case M_INETGETACTIVE:
  394.             vResult = (int)m_InetGetDetails.bInProgress;
  395.             break;
  396.  
  397.         case M_NUMPARAMS:
  398.             vResult = m_nNumParams;
  399.             break;
  400.  
  401.     } // end switch
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement