VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Common/Language.xml2
-rw-r--r--src/Mount/Mount.c28
-rw-r--r--src/Mount/Mount.rc1
-rw-r--r--src/Mount/Resource.h3
4 files changed, 33 insertions, 1 deletions
diff --git a/src/Common/Language.xml b/src/Common/Language.xml
index 5a54f080..7585eece 100644
--- a/src/Common/Language.xml
+++ b/src/Common/Language.xml
@@ -243,6 +243,7 @@
<control lang="en" key="IDM_UNMOUNT_VOLUME">Dismount Volume</control>
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
<control lang="en" key="IDM_VERSION_HISTORY">Version History</control>
+ <control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
<control lang="en" key="IDM_VOLUME_PROPERTIES">Volume Properties</control>
<control lang="en" key="IDM_VOLUME_WIZARD">Volume Creation Wizard</control>
<control lang="en" key="IDM_WEBSITE">VeraCrypt Website</control>
@@ -535,6 +536,7 @@
<string lang="en" key="MOUNT_BUTTON">&amp;Mount</string>
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
+ <string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
<string lang="en" key="NEXT">&amp;Next &gt;</string>
<string lang="en" key="FINALIZE">&amp;Finish</string>
<string lang="en" key="INSTALL">&amp;Install</string>
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c
index eb14d76e..c7835f0e 100644
--- a/src/Mount/Mount.c
+++ b/src/Mount/Mount.c
@@ -1055,6 +1055,28 @@ static void LaunchVolCreationWizard (HWND hwndDlg, const char *arg)
}
}
+static void LaunchVolExpander (HWND hwndDlg)
+{
+ char t[TC_MAX_PATH] = {'"',0};
+ char *tmp;
+
+ GetModuleFileName (NULL, t+1, sizeof(t)-1);
+
+ tmp = strrchr (t, '\\');
+ if (tmp)
+ {
+ *tmp = 0;
+ StringCbCatA (t, sizeof(t), "\\VeraCryptExpander.exe\"");
+
+ if (!FileExists(t))
+ Error ("VOL_EXPANDER_NOT_FOUND", hwndDlg); // Display a user-friendly error message and advise what to do
+ else if (((int)ShellExecuteA (NULL, (!IsAdmin() && IsUacSupported()) ? "runas" : "open", t, NULL, NULL, SW_SHOW)) <= 32)
+ {
+ handleWin32Error (hwndDlg);
+ }
+ }
+}
+
// Fills drive list
// drive>0 = update only the corresponding drive subitems
@@ -6433,6 +6455,12 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
return 1;
}
+ if (lw == IDM_VOLUME_EXPANDER)
+ {
+ LaunchVolExpander (hwndDlg);
+ return 1;
+ }
+
if (lw == IDM_ADD_REMOVE_VOL_KEYFILES)
{
if (!VolumeSelected(hwndDlg))
diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc
index 7a498d7e..fdc50bc9 100644
--- a/src/Mount/Mount.rc
+++ b/src/Mount/Mount.rc
@@ -568,6 +568,7 @@ BEGIN
MENUITEM "Test Vectors...", IDM_TEST_VECTORS
MENUITEM SEPARATOR
MENUITEM "Traveler Disk Setup...", IDM_TRAVELER
+ MENUITEM "Volume Expander", IDM_VOLUME_EXPANDER
MENUITEM "Volume Creation Wizard", IDM_VOLUME_WIZARD
MENUITEM SEPARATOR
MENUITEM "Keyfile Generator", IDM_KEYFILE_GENERATOR
diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h
index e63c59a6..ca2bdc84 100644
--- a/src/Mount/Resource.h
+++ b/src/Mount/Resource.h
@@ -225,6 +225,7 @@
#define IDM_PERFORMANCE_SETTINGS 40062
#define IDM_ANALYZE_SYSTEM_CRASH 40063
#define IDM_DONATE 40064
+#define IDM_VOLUME_EXPANDER 40065
// Next default values for new objects
//
@@ -232,7 +233,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 118
-#define _APS_NEXT_COMMAND_VALUE 40065
+#define _APS_NEXT_COMMAND_VALUE 40066
#define _APS_NEXT_CONTROL_VALUE 1141
#define _APS_NEXT_SYMED_VALUE 101
#endif