]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/utilsexc.cpp
1. registry files corresponding to the recent registry.h changes
[wxWidgets.git] / src / msw / utilsexc.cpp
index ef2e39750b0571ea05522e4af2bcf3d28ab1d2ad..e74411c2294eedf414227f55551f265a4441dfa0 100644 (file)
@@ -10,7 +10,7 @@
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
-#pragma implementation "utils.h"
+#pragma implementation
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/setup.h"
 #include "wx/utils.h"
 #include "wx/app.h"
+#include "wx/intl.h"
 #endif
 
+#include "wx/log.h"
 #include "wx/msw/private.h"
 #include <windows.h>
 
 #include <ctype.h>
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <direct.h>
+#ifndef __MWERKS__
 #include <dos.h>
 #endif
+#endif
 
 #ifdef __GNUWIN32__
+#ifndef __TWIN32__
 #include <sys/unistd.h>
 #include <sys/stat.h>
-#ifndef __MINGW32__
-#include <std.h>
 #endif
-
 #endif
 
 #ifdef __WIN32__
 #endif
 #include <stdarg.h>
 
-IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
-IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
-
-
 #define wxEXECUTE_WIN_MESSAGE 10000
 
 struct wxExecuteData {
@@ -115,7 +113,7 @@ long wxExecute(const wxString& command, bool sync, wxProcess *handler)
   if (command == "")
     return 0;
 
-#ifdef __WIN32__
+#if defined(__WIN32__) && !defined(__TWIN32__)
   char * cl;
   char * argp;
   int clen;
@@ -138,10 +136,8 @@ long wxExecute(const wxString& command, bool sync, wxProcess *handler)
     *argp++ = '\0';
 
 #ifdef __GNUWIN32__
-  result = ShellExecute((HWND) (wxTheApp->GetTopWindow() ? (HWND) wxTheApp->GetT
-opWindow()->GetHWND() : NULL),
-     (const wchar_t) "open", (const wchar_t) cl, (const wchar_t) arg
-p,i
+  result = ShellExecute((HWND) (wxTheApp->GetTopWindow() ? (HWND) wxTheApp->GetTopWindow()->GetHWND() : NULL),
+     (const wchar_t) "open", (const wchar_t) cl, (const wchar_t) argp,
      (const wchar_t) NULL, SW_SHOWNORMAL);
 #else
   result = ShellExecute( (HWND) (wxTheApp->GetTopWindow() ? wxTheApp->GetTopWindow()->GetHWND() : NULL),
@@ -150,6 +146,8 @@ p,i
 
   if (((long)result) <= 32) {
    free(cl);
+
+   wxLogSysError(_("Can't execute command '%s'"), command.c_str());
    return 0;
   }
 
@@ -206,3 +204,16 @@ p,i
   return(instanceID);
 #endif
 }
+
+long wxExecute(char **argv, bool sync, wxProcess *handler)
+{
+  wxString command = "";
+
+  while (*argv != NULL) {
+    command += *argv;
+    command += ' ';
+    argv++;
+  }
+  command.RemoveLast();
+  return wxExecute(command, sync, handler);
+}