mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
parent
849f61a80f
commit
6def8f8abe
5 changed files with 23 additions and 16 deletions
1
TODO
1
TODO
|
@ -1,5 +1,4 @@
|
|||
o Create a report file with failed block details on bad blocks
|
||||
o Integrate FreeDOS
|
||||
o Allow the provision of external DOS files
|
||||
o Set DOS keyboard according to locale
|
||||
o Allow selection of one of the existing compatible partitions (keep existing MBR) vs. full repartitioning (overwrite MBR)
|
||||
|
|
|
@ -378,9 +378,8 @@ BOOL ExtractFreeDOS(const char* path)
|
|||
filename[pos] = 0;
|
||||
safe_strcat(filename, sizeof(filename), res_name[i]);
|
||||
|
||||
// TODO: set attributes
|
||||
hFile = CreateFileA(filename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,
|
||||
NULL, CREATE_ALWAYS, 0, 0);
|
||||
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM, 0);
|
||||
if (hFile == INVALID_HANDLE_VALUE) {
|
||||
uprintf("Unable to create file '%s': %s.\n", filename, WindowsErrorString());
|
||||
return FALSE;
|
||||
|
@ -392,10 +391,8 @@ BOOL ExtractFreeDOS(const char* path)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
// TODO: Restore timestamps from resource
|
||||
// if (!SetFileTime(hFile, &ftCreationTime, &ftLastAccessTime, &ftLastWriteTime)) {
|
||||
// uprintf("Could not set timestamps: %s\n", WindowsErrorString());
|
||||
// }
|
||||
// We don't restore timestamps for FreeDOS, as there's no metadata in the files,
|
||||
// thus we would need to have a separate header with each file's timestamps
|
||||
|
||||
safe_closehandle(hFile);
|
||||
uprintf("Succesfully wrote '%s' (%d bytes)\n", filename, res_size[i]);
|
||||
|
|
12
src/rufus.c
12
src/rufus.c
|
@ -54,6 +54,7 @@ char szFolderPath[MAX_PATH];
|
|||
float fScale = 1.0f;
|
||||
int default_fs;
|
||||
HWND hDeviceList, hCapacity, hFileSystem, hClusterSize, hLabel, hDOSType;
|
||||
BOOL bWithFreeDOS;
|
||||
|
||||
static HWND hDeviceTooltip = NULL, hFSTooltip = NULL, hProgress = NULL;
|
||||
static StrArray DriveID, DriveLabel;
|
||||
|
@ -920,7 +921,11 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
|
|||
IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "WinMe"));
|
||||
// TODO: enable folder selection
|
||||
// IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "Custom"));
|
||||
IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, 0));
|
||||
IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, bWithFreeDOS?DT_FREEDOS:DT_WINME));
|
||||
if (bWithFreeDOS) {
|
||||
SetDlgItemTextA(hDlg, IDC_DOS, "Create a DOS bootable disk:");
|
||||
ShowWindow(hDOSType, SW_SHOW);
|
||||
}
|
||||
// Create the string array
|
||||
StrArrayCreate(&DriveID, MAX_DRIVES);
|
||||
StrArrayCreate(&DriveLabel, MAX_DRIVES);
|
||||
|
@ -1104,6 +1109,11 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
|||
SetLGP(FALSE, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDriveTypeAutorun", 0x9e);
|
||||
#endif
|
||||
|
||||
// Find out if the FreeDOS resources are embedded in the app
|
||||
bWithFreeDOS = (FindResource(hMainInstance, MAKEINTRESOURCE(IDR_FD_COMMAND_COM), RT_RCDATA) != NULL) &&
|
||||
(FindResource(hMainInstance, MAKEINTRESOURCE(IDR_FD_KERNEL_SYS), RT_RCDATA) != NULL);
|
||||
uprintf("FreeDOS resources are %sembedded with this app\n", bWithFreeDOS?"":"NOT ");
|
||||
|
||||
// Create the main Window
|
||||
if ( (hDlg = CreateDialogA(hInstance, MAKEINTRESOURCEA(IDD_DIALOG), NULL, MainCallback)) == NULL ) {
|
||||
MessageBoxA(NULL, "Could not create Window", "DialogBox failure", MB_ICONSTOP);
|
||||
|
|
|
@ -146,6 +146,7 @@ extern char szFolderPath[MAX_PATH];
|
|||
extern DWORD FormatStatus;
|
||||
extern RUFUS_DRIVE_INFO SelectedDrive;
|
||||
extern const int nb_steps[FS_MAX];
|
||||
extern BOOL bWithFreeDOS;
|
||||
|
||||
/*
|
||||
* Shared prototypes
|
||||
|
|
16
src/rufus.rc
16
src/rufus.rc
|
@ -30,7 +30,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
|
|||
IDD_DIALOG DIALOGEX 12, 12, 206, 278
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "Rufus v1.0.3.97"
|
||||
CAPTION "Rufus v1.0.3.98"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,94,236,50,14
|
||||
|
@ -48,10 +48,10 @@ BEGIN
|
|||
EDITTEXT IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL
|
||||
CONTROL "Check device for bad blocks",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,171,10
|
||||
CONTROL "Quick Format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,58,10
|
||||
CONTROL "Create a DOS bootable disk:",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,101,10
|
||||
CONTROL "Create a DOS bootable disk",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,101,10
|
||||
LTEXT "New volume label",IDC_STATIC,9,121,105,10
|
||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,210,189,9
|
||||
COMBOBOX IDC_DOSTYPE,116,183,45,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_DOSTYPE,116,183,45,30,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 287, 195
|
||||
|
@ -65,7 +65,7 @@ BEGIN
|
|||
DEFPUSHBUTTON "OK",IDOK,231,175,50,14,WS_GROUP
|
||||
CONTROL "<a href=""http://rufus.akeo.ie"">http://rufus.akeo.ie</a>",IDC_ABOUT_RUFUS_URL,
|
||||
"SysLink",WS_TABSTOP,46,47,114,9
|
||||
LTEXT "Version 1.0.3 (Build 97)",IDC_STATIC,46,19,78,8
|
||||
LTEXT "Version 1.0.3 (Build 98)",IDC_STATIC,46,19,78,8
|
||||
PUSHBUTTON "License...",IDC_ABOUT_LICENSE,46,175,50,14,WS_GROUP
|
||||
EDITTEXT IDC_ABOUT_COPYRIGHTS,46,107,235,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
|
||||
LTEXT "Report bugs or request enhancements at:",IDC_STATIC,46,66,187,8
|
||||
|
@ -170,8 +170,8 @@ END
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,3,97
|
||||
PRODUCTVERSION 1,0,3,97
|
||||
FILEVERSION 1,0,3,98
|
||||
PRODUCTVERSION 1,0,3,98
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -188,13 +188,13 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "akeo.ie"
|
||||
VALUE "FileDescription", "Rufus"
|
||||
VALUE "FileVersion", "1.0.3.97"
|
||||
VALUE "FileVersion", "1.0.3.98"
|
||||
VALUE "InternalName", "Rufus"
|
||||
VALUE "LegalCopyright", "© 2011 Pete Batard (GPL v3)"
|
||||
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
||||
VALUE "OriginalFilename", "rufus.exe"
|
||||
VALUE "ProductName", "Rufus"
|
||||
VALUE "ProductVersion", "1.0.3.97"
|
||||
VALUE "ProductVersion", "1.0.3.98"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
Loading…
Reference in a new issue