* PURPOSE: Misc functions
* COPYRIGHT: Copyright 2009 Dmitry Chapyshev (dmitry@reactos.org)
* Copyright 2015 Ismael Ferreras Morezuelas (swyterzone+ros@gmail.com)
- * Copyright 2017 Alexander Shaposhnikov (chaez.san@gmail.com)
+ * Copyright 2017 Alexander Shaposhnikov (sanchaez@reactos.org)
*/
-#include "defines.h"
+#include "rapps.h"
#include "gui.h"
#include "misc.h"
+#include "cabinet.h"
/* SESSION Operation */
#define EXTRACT_FILLFILELIST 0x00000001
static HANDLE hLog = NULL;
-struct ERF
-{
- INT erfOper;
- INT erfType;
- BOOL fError;
-};
-
-struct FILELIST
-{
- LPSTR FileName;
- FILELIST *next;
- BOOL DoExtract;
-};
-
-struct SESSION
-{
- INT FileSize;
- ERF Error;
- FILELIST *FileList;
- INT FileCount;
- INT Operation;
- CHAR Destination[MAX_PATH];
- CHAR CurrentFile[MAX_PATH];
- CHAR Reserved[MAX_PATH];
- FILELIST *FilterList;
-};
-
-typedef HRESULT(WINAPI *fnExtract)(SESSION *dest, LPCSTR szCabName);
-fnExtract pfnExtract;
-
INT GetWindowWidth(HWND hwnd)
{
RECT Rect;
CHAR szCabName[MAX_PATH];
SESSION Dest;
HRESULT Result;
-
+ fnExtract pfnExtract;
+
hCabinetDll = LoadLibraryW(L"cabinet.dll");
if (hCabinetDll)
{
}
BOOL GetInstalledVersion_WowUser(ATL::CStringW* szVersionResult,
- const ATL::CStringW& RegName,
+ const ATL::CStringW& szRegName,
BOOL IsUserKey,
REGSAM keyWow)
{
BOOL bHasSucceded = FALSE;
ATL::CRegKey key;
ATL::CStringW szVersion;
- ATL::CStringW szPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + RegName;
+ ATL::CStringW szPath = ATL::CStringW(L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\%ls") + szRegName;
if (key.Open(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE,
szPath.GetString(),
ATL::CStringW szBuffer;
GetStorageDirectory(szDir);
- szBuffer.Format(L"%ls\\rapps\\%ls", szDir, FileName);
+ szBuffer.Format(L"%ls\\rapps\\%ls", szDir.GetString(), FileName.GetString());
return szBuffer;
}