summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/base/win/shell.cc10
-rw-r--r--ui/base/win/shell.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/ui/base/win/shell.cc b/ui/base/win/shell.cc
index f8e9d79..32ca484 100644
--- a/ui/base/win/shell.cc
+++ b/ui/base/win/shell.cc
@@ -58,12 +58,15 @@ bool OpenItemWithExternalApp(const string16& full_path) {
bool OpenAnyViaShell(const string16& full_path,
const string16& directory,
+ const string16& args,
DWORD mask) {
SHELLEXECUTEINFO sei = { sizeof(sei) };
sei.fMask = mask;
sei.nShow = SW_SHOWNORMAL;
sei.lpFile = full_path.c_str();
sei.lpDirectory = directory.c_str();
+ if (!args.empty())
+ sei.lpParameters = args.c_str();
if (::ShellExecuteExW(&sei))
return true;
@@ -73,12 +76,13 @@ bool OpenAnyViaShell(const string16& full_path,
}
bool OpenItemViaShell(const FilePath& full_path) {
- return OpenAnyViaShell(full_path.value(), full_path.DirName().value(), 0);
+ return OpenAnyViaShell(full_path.value(), full_path.DirName().value(),
+ string16(), 0);
}
bool OpenItemViaShellNoZoneCheck(const FilePath& full_path) {
- return OpenAnyViaShell(full_path.value(), string16(),
- SEE_MASK_NOZONECHECKS | SEE_MASK_FLAG_DDEWAIT);
+ return OpenAnyViaShell(full_path.value(), string16(), string16(),
+ SEE_MASK_NOZONECHECKS | SEE_MASK_FLAG_DDEWAIT);
}
void SetAppIdForWindow(const string16& app_id, HWND hwnd) {
diff --git a/ui/base/win/shell.h b/ui/base/win/shell.h
index dd3f75d..bf2e263 100644
--- a/ui/base/win/shell.h
+++ b/ui/base/win/shell.h
@@ -31,6 +31,7 @@ UI_EXPORT bool OpenItemViaShellNoZoneCheck(const FilePath& full_path);
// registered for the item, it behaves the same as OpenItemViaShell.
UI_EXPORT bool OpenAnyViaShell(const string16& full_path,
const string16& directory,
+ const string16& args,
DWORD mask);
// Ask the user, via the Windows "Open With" dialog, for an application to use