[misc] don't list an USB drive if Rufus is running from it

* Suggested by josiasmat
* Closes #143
This commit is contained in:
Pete Batard 2013-06-15 22:43:45 +01:00
parent 1dbaff6897
commit 163c68d65d
2 changed files with 12 additions and 7 deletions

View File

@ -624,7 +624,7 @@ static BOOL GetUSBDevices(DWORD devnum)
if(GetLastError() != ERROR_NO_MORE_ITEMS) {
uprintf("SetupDiEnumDeviceInterfaces failed: %s\n", WindowsErrorString());
} else {
uprintf("Device was eliminated because it didn't report itself as a disk\n");
uprintf("A device was eliminated because it didn't report itself as a disk\n");
}
break;
}
@ -678,6 +678,12 @@ static BOOL GetUSBDevices(DWORD devnum)
if (drive_letter == ' ') {
safe_sprintf(entry, sizeof(entry), "%s (Disk %d)", label, device_number.DeviceNumber);
} else {
if (drive_letter == app_dir[0]) {
uprintf("Removing %c: from the list: This is the disk from which " APPLICATION_NAME " is running!\n", drive_letter);
safe_closehandle(hDrive);
safe_free(devint_detail_data);
break;
}
safe_sprintf(entry, sizeof(entry), "%s (%c:)", label, drive_letter);
}
IGNORE_RETVAL(ComboBox_SetItemData(hDeviceList, ComboBox_AddStringU(hDeviceList, entry),
@ -1978,7 +1984,6 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
UpdateWindow(hDlg);
// Do our own event processing and process "magic" commands
// TODO: (v1.4) Cheat modes are not handled when the log is at the front - this sucks
while(GetMessage(&msg, NULL, 0, 0)) {
// The following ensures the processing of the ISO progress window messages
if (!IsWindow(hISOProgressDlg) || !IsDialogMessage(hISOProgressDlg, &msg)) {

View File

@ -30,7 +30,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 206, 329
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Rufus v1.3.4.254"
CAPTION "Rufus v1.3.4.255"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
@ -278,8 +278,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,3,4,254
PRODUCTVERSION 1,3,4,254
FILEVERSION 1,3,4,255
PRODUCTVERSION 1,3,4,255
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -296,13 +296,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "1.3.4.254"
VALUE "FileVersion", "1.3.4.255"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2013 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "1.3.4.254"
VALUE "ProductVersion", "1.3.4.255"
END
END
BLOCK "VarFileInfo"