// Aseprite Base Library // Copyright (c) 2001-2013 David Capello // // This source file is distributed under MIT license, // please read LICENSE.txt for more information. #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "base/launcher.h" #include "base/exception.h" #ifdef WIN32 #include #ifndef SEE_MASK_DEFAULT #define SEE_MASK_DEFAULT 0x00000000 #endif static int win32_shell_execute(const char* verb, const char* file, const char* params) { SHELLEXECUTEINFO sh; ZeroMemory((LPVOID)&sh, sizeof(sh)); sh.cbSize = sizeof(sh); sh.fMask = SEE_MASK_DEFAULT; sh.lpVerb = verb; sh.lpFile = file; sh.lpParameters = params; sh.nShow = SW_SHOWNORMAL; if (!ShellExecuteEx(&sh)) { int ret = GetLastError(); #if 0 if (ret != 0) { DWORD flags = FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS; LPSTR msgbuf; if (FormatMessageA(flags, NULL, ret, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), reinterpret_cast(&msgbuf), 0, NULL)) { ui::Alert::show("Problem<