mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
[MSPAINT] Fix interpretation of command line (#707)
This commit is contained in:
parent
c79e5dc476
commit
22e86add33
1 changed files with 56 additions and 14 deletions
|
@ -261,24 +261,66 @@ _tWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR lpszArgument
|
|||
|
||||
if (__argc >= 2)
|
||||
{
|
||||
HBITMAP bmNew = NULL;
|
||||
LoadDIBFromFile(&bmNew, __targv[1], &fileTime, &fileSize, &fileHPPM, &fileVPPM);
|
||||
if (bmNew != NULL)
|
||||
WIN32_FIND_DATAW find;
|
||||
HANDLE hFind = FindFirstFileW(__targv[1], &find);
|
||||
if (hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
TCHAR *temp;
|
||||
imageModel.Insert(bmNew);
|
||||
GetFullPathName(__targv[1], SIZEOF(filepathname), filepathname, &temp);
|
||||
CPath pathFileName(filepathname);
|
||||
pathFileName.StripPath();
|
||||
CString strTitle;
|
||||
strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
|
||||
mainWindow.SetWindowText(strTitle);
|
||||
imageModel.ClearHistory();
|
||||
isAFile = TRUE;
|
||||
FindClose(hFind);
|
||||
|
||||
// check the file size
|
||||
if (find.nFileSizeHigh || find.nFileSizeLow)
|
||||
{
|
||||
// load it now
|
||||
HBITMAP bmNew = NULL;
|
||||
LoadDIBFromFile(&bmNew, __targv[1], &fileTime, &fileSize, &fileHPPM, &fileVPPM);
|
||||
if (bmNew)
|
||||
{
|
||||
// valid bitmap file
|
||||
GetFullPathName(__targv[1], SIZEOF(filepathname), filepathname, NULL);
|
||||
imageModel.Insert(bmNew);
|
||||
CPath pathFileName(filepathname);
|
||||
pathFileName.StripPath();
|
||||
|
||||
CString strTitle;
|
||||
strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
|
||||
mainWindow.SetWindowText(strTitle);
|
||||
|
||||
imageModel.ClearHistory();
|
||||
|
||||
isAFile = TRUE;
|
||||
registrySettings.SetMostRecentFile(filepathname);
|
||||
}
|
||||
else
|
||||
{
|
||||
// cannot open and not empty
|
||||
CStringW strText;
|
||||
strText.Format(IDS_LOADERRORTEXT, __targv[1]);
|
||||
MessageBoxW(NULL, strText, NULL, MB_ICONERROR);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// open the empty file
|
||||
GetFullPathName(__targv[1], SIZEOF(filepathname), filepathname, NULL);
|
||||
CPath pathFileName(filepathname);
|
||||
pathFileName.StripPath();
|
||||
|
||||
CString strTitle;
|
||||
strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
|
||||
mainWindow.SetWindowText(strTitle);
|
||||
|
||||
imageModel.ClearHistory();
|
||||
|
||||
isAFile = TRUE;
|
||||
registrySettings.SetMostRecentFile(filepathname);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
exit(0);
|
||||
// does not exist
|
||||
CStringW strText;
|
||||
strText.Format(IDS_LOADERRORTEXT, __targv[1]);
|
||||
MessageBoxW(NULL, strText, NULL, MB_ICONERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue