mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 17:15:00 -06:00
4.62
This commit is contained in:
committed by
Kornel Lesiński
parent
b717a4dbfe
commit
c1f1243a70
@@ -247,7 +247,7 @@ static HANDLE StartEditApplication(const UString &path, HWND window)
|
||||
typedef BOOL (WINAPI * ShellExecuteExWP)(LPSHELLEXECUTEINFOW lpExecInfo);
|
||||
#endif
|
||||
|
||||
static HANDLE StartApplication(const UString &path, HWND window)
|
||||
static HANDLE StartApplication(const UString &dir, const UString &path, HWND window)
|
||||
{
|
||||
UINT32 result;
|
||||
HANDLE hProcess;
|
||||
@@ -261,7 +261,7 @@ static HANDLE StartApplication(const UString &path, HWND window)
|
||||
execInfo.lpVerb = NULL;
|
||||
execInfo.lpFile = path;
|
||||
execInfo.lpParameters = NULL;
|
||||
execInfo.lpDirectory = NULL;
|
||||
execInfo.lpDirectory = dir.IsEmpty() ? NULL : (LPCWSTR)dir;
|
||||
execInfo.nShow = SW_SHOWNORMAL;
|
||||
execInfo.hProcess = 0;
|
||||
ShellExecuteExWP shellExecuteExW = (ShellExecuteExWP)
|
||||
@@ -281,9 +281,10 @@ static HANDLE StartApplication(const UString &path, HWND window)
|
||||
execInfo.hwnd = NULL;
|
||||
execInfo.lpVerb = NULL;
|
||||
const CSysString sysPath = GetSystemString(path);
|
||||
const CSysString sysDir = GetSystemString(dir);
|
||||
execInfo.lpFile = sysPath;
|
||||
execInfo.lpParameters = NULL;
|
||||
execInfo.lpDirectory = NULL;
|
||||
execInfo.lpDirectory = sysDir.IsEmpty() ? NULL : (LPCTSTR)sysDir;
|
||||
execInfo.nShow = SW_SHOWNORMAL;
|
||||
execInfo.hProcess = 0;
|
||||
::ShellExecuteEx(&execInfo);
|
||||
@@ -318,7 +319,7 @@ void CPanel::EditItem(int index)
|
||||
|
||||
void CPanel::OpenFolderExternal(int index)
|
||||
{
|
||||
HANDLE hProcess = StartApplication(GetFsPath() + GetItemRelPath(index), (HWND)*this);
|
||||
HANDLE hProcess = StartApplication(GetFsPath(), GetFsPath() + GetItemRelPath(index), (HWND)*this);
|
||||
if (hProcess != 0)
|
||||
::CloseHandle(hProcess);
|
||||
}
|
||||
@@ -354,7 +355,7 @@ void CPanel::OpenItem(int index, bool tryInternal, bool tryExternal)
|
||||
{
|
||||
// SetCurrentDirectory opens HANDLE to folder!!!
|
||||
// NDirectory::MySetCurrentDirectory(_currentFolderPrefix);
|
||||
HANDLE hProcess = StartApplication(fullPath, (HWND)*this);
|
||||
HANDLE hProcess = StartApplication(_currentFolderPrefix, fullPath, (HWND)*this);
|
||||
if (hProcess != 0)
|
||||
::CloseHandle(hProcess);
|
||||
}
|
||||
@@ -548,7 +549,7 @@ void CPanel::OpenItemInArchive(int index, bool tryInternal, bool tryExternal, bo
|
||||
if (editMode)
|
||||
hProcess = StartEditApplication(tempFilePath, (HWND)*this);
|
||||
else
|
||||
hProcess = StartApplication(tempFilePath, (HWND)*this);
|
||||
hProcess = StartApplication(tempDirNorm, tempFilePath, (HWND)*this);
|
||||
|
||||
if (hProcess == 0)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user