WIN32: Make use of the window handle when calling ShellExecute.

This commit is contained in:
Henrik "Henke37" Andersson 2019-06-24 21:32:45 +02:00 committed by Filippos Karapetis
parent 2382200205
commit 39f63f1236
2 changed files with 5 additions and 2 deletions

View File

@ -136,7 +136,7 @@ bool OSystem_Win32::displayLogFile() {
// Try opening the log file with the default text editor
// log files should be registered as "txtfile" by default and thus open in the default text editor
HINSTANCE shellExec = ShellExecute(NULL, NULL, _logFilePath.c_str(), NULL, NULL, SW_SHOWNORMAL);
HINSTANCE shellExec = ShellExecute(getHwnd(), NULL, _logFilePath.c_str(), NULL, NULL, SW_SHOWNORMAL);
if ((intptr_t)shellExec > 32)
return true;
@ -169,7 +169,7 @@ bool OSystem_Win32::displayLogFile() {
}
bool OSystem_Win32::openUrl(const Common::String &url) {
HINSTANCE result = ShellExecute(NULL, NULL, /*(wchar_t*)nativeFilePath.utf16()*/url.c_str(), NULL, NULL, SW_SHOWNORMAL);
HINSTANCE result = ShellExecute(getHwnd(), NULL, /*(wchar_t*)nativeFilePath.utf16()*/url.c_str(), NULL, NULL, SW_SHOWNORMAL);
// ShellExecute returns a value greater than 32 if successful
if ((intptr_t)result <= 32) {
warning("ShellExecute failed: error = %p", (void*)result);

View File

@ -24,6 +24,7 @@
#define PLATFORM_SDL_WIN32_H
#include "backends/platform/sdl/sdl.h"
#include "backends/platform/sdl/win32/win32-window.h"
class OSystem_Win32 : public OSystem_SDL {
public:
@ -61,6 +62,8 @@ protected:
// Override createAudioCDManager() to get our Mac-specific
// version.
virtual AudioCDManager *createAudioCDManager();
HWND getHwnd() { return ((SdlWindow_Win32*)_window)->getHwnd(); }
};
#endif