kostenloser Webspace werbefrei: lima-city


WinExec Problem

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    linknik

    linknik hat kostenlosen Webspace.

    Hallo

    Ich habe ein Problem. Wenn ich
    WinExec("calc.exe, SW_NORAML);
    verwende in meinen Programm wird auch der Taschenrechner geöffnet aber wenn ich da ein Pfad mit reinbringe öffnet er gar nichts.

    Hab schon gegoogelt und habe auch was gefunden:http://msdn.microsoft.com/en-us/library/ms687393%28VS.85%29.aspx
    aber dieses klappt auch nicht.

    Gibt es vielleicht noch eine andere Möglichkeit?

    Gruß linknik

    Beitrag zuletzt geändert: 27.11.2010 15:40:02 von linknik
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn du in deinem Programm auch das schließende " vergessen hast dann ist das der Fehler.
  4. Autor dieses Themas

    linknik

    linknik hat kostenlosen Webspace.

    soory hab mich vertippt hab noch mal überprüft klappt immer noch nicht.
    es geht mir aber um den pfad da zu verwenden
  5. Nun zeig doch mal den eigentlichen Code her.
  6. Autor dieses Themas

    linknik

    linknik hat kostenlosen Webspace.

    Hier hast du den Code
    #include <windows.h>
    #include "z.h"
    
    LPCSTR MainClassName = "Test Menu";
    
    LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,
                             WPARAM wParam, LPARAM lParam);
    
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       PSTR szCmdLine, int iCmdShow)
    {
       WNDCLASSEX wc;
       MSG wmsg;
       HWND hWnd;
    
       wc.cbSize = sizeof(WNDCLASSEX);
       wc.style = 0;
       wc.lpfnWndProc = WndProc;
       wc.cbClsExtra = 0;
       wc.cbWndExtra = 0;
       wc.hInstance = hInstance;
       wc.hIcon = LoadIcon(GetModuleHandle(NULL),
                                    MAKEINTRESOURCE(ID_ICON));
       wc.hCursor         = LoadCursor(NULL, IDC_ARROW);
       wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
       wc.lpszMenuName  = MAKEINTRESOURCE(IDR_MENU1);
       wc.lpszClassName = MainClassName;
       wc.hIconSm         = (HICON)LoadImage(GetModuleHandle(NULL),
                                            MAKEINTRESOURCE(ID_ICON),
                                            IMAGE_ICON, 16, 16, 0);
    
       if(!RegisterClassEx(&wc))
          {
           MessageBox(NULL, "Windows Registrations Fehler", "Error!",
                      MB_ICONEXCLAMATION | MB_OK);
           return 0;
          }
    
        hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, MainClassName,
                              "Test Menu",
                              WS_OVERLAPPEDWINDOW|WS_VISIBLE,
                              CW_USEDEFAULT, CW_USEDEFAULT,
                              330,180,NULL,NULL,hInstance, NULL);
    
        if(hWnd == NULL)
        {
              MessageBox(NULL, "Fehler beim Erstellen des Fensters!",
              "Error!",        MB_ICONEXCLAMATION | MB_OK);
              return 0;
        }
    
    while(GetMessage(&wmsg,NULL,0,0))
       {
          TranslateMessage(&wmsg);
          DispatchMessage(&wmsg);
       }
       return wmsg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,
                             WPARAM wParam, LPARAM lParam)
    {
       char string[255];
        PAINTSTRUCT ps;
      HDC hDC;
      char szPuffer[] = "by linknik";
       switch (iMsg)
          {
    		  case WM_PAINT :
                  hDC = BeginPaint(hWnd, &ps);
                  TextOut(hDC, 0, 0, szPuffer, sizeof(szPuffer)-1);
                  EndPaint(hWnd, &ps);
                  return 0;
             case WM_CLOSE:
                DestroyWindow(hWnd);
                break;
             case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
             case WM_COMMAND:
                switch(LOWORD(wParam))
                   {
                     case ID_FILE_START:
                     MessageBox(hWnd,"Start....",
                                "Test Start",MB_ICONINFORMATION);
                    WinExec("C:\Programme\test.exe",SW_NORMAL)
                     break;
    			   case ID_ABOUT:
                   MessageBox(hWnd,"Test\nCoded by linknik(27.11.2010)\n",
                              "About...",MB_ICONINFORMATION);
                   break;
                   case ID_FILE_EXIT:
                      DestroyWindow(hWnd);
                      break;
             }
            break;
          }
       return DefWindowProc(hWnd,iMsg,wParam,lParam);
    }

    Die 14. Zeile von unten ist WinExec

    Beitrag zuletzt geändert: 28.11.2010 12:42:56 von linknik
  7. WinExec("C:\Programme\test.exe",SW_NORMAL)

    Ev. fehlt da noch ein Semikolon am Ende, was ich aber eher glaube ist das die Verzeichnistrenner maskiert werden müssen:

    WinExec("C:\\Programme\\test.exe",SW_NORMAL)
    Wenn das nicts hilft dann sammle mal den Rückgabewert der Funktion ein und schau in der Funktionsreferenz was er bedeutet.

    Beitrag zuletzt geändert: 28.11.2010 13:15:10 von fatfox
  8. Autor dieses Themas

    linknik

    linknik hat kostenlosen Webspace.

    Danke es funktioniert :biggrin::biggrin::prost:
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!