WinMain verwenden?



  • Hey, könnt ihr mir mal ein Beispiel für die Verwendung von WinMain geben, also zum Beispiel wenn der Text "Test" ausgegeben werden soll.

    Ich hab das Ganze mal so versucht:

    #include <stdio.h>
    WinMain()
    {
    printf("Test");
    }
    

    aber das verursacht einen Error "Aktualisierung/Make fehlgeschlagen".
    Hab ich da irgendwas falsch verstanden bei WinMain() oder muss da noch was eingefügt werden?
    PS: Ja, ich weiß, das ist vielleicht die dümmste Frage im ganzen Forum, aber ich wollte die Funktion gerade das erste Mal ausprobieren und hab halt keine Ahnung von WinMain oder wie man sie verwendet.

    Danke im Voraus für alle Antworten.



  • WinMain() ist der Eintrittspunkt in ein Programm, das im Win32-(ja ... oder WOW64)-Subsystem von Windows ausgeführt wird. Typischerweise eine "Fensteranwendung" ... was willst du darin mit printf() ?



  • Was ic darin mit printf will? Nun ja, gurndsätzlich war das nur ein Bespiel. Ich will eigentlich wissen, wie ich meine Konsolen-applikationen in Fenster-Programme umwandeln kann.



  • Achja, sorry für die schlechte Rechtschreibung eben. Das passiert halt, wenn man zu schnell tippt und ohne nachzuschauen auf "Senden" drückt...



  • Phynix Firebird schrieb:

    Was ic darin mit printf will? Nun ja, gurndsätzlich war das nur ein Bespiel. Ich will eigentlich wissen, wie ich meine Konsolen-applikationen in Fenster-Programme umwandeln kann.

    Hier ein kleines, gut gemachtes, Tutorial mit Beipsielsourcen:

    http://www.functionx.com/win32/Lesson01b.htm

    Und unter

    http://www.functionx.com/win32/Lesson01c.htm

    hast du ein komplettes Beispielprogramm mit Fenster.

    Und vielleicht auch noch interessantes zu den Hintergründen:

    https://stackoverflow.com/questions/13871617/winmain-and-main-in-c-extended



  • Phynix Firebird schrieb:

    Hey, könnt ihr mir mal ein Beispiel für die Verwendung von WinMain geben, also zum Beispiel wenn der Text "Test" ausgegeben werden soll.

    Ich hab das Ganze mal so versucht:

    #include <stdio.h>
    WinMain()
    {
    printf("Test");
    }
    

    aber das verursacht einen Error "Aktualisierung/Make fehlgeschlagen".
    Hab ich da irgendwas falsch verstanden bei WinMain() oder muss da noch was eingefügt werden?
    PS: Ja, ich weiß, das ist vielleicht die dümmste Frage im ganzen Forum, aber ich wollte die Funktion
    gerade das erste Mal ausprobieren und hab halt keine Ahnung von WinMain oder wie man sie verwendet.

    Aber sicher, gern:

    #include <windows.h>
    
    int WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpCmdLine, int nCmdShow)
    {
      HWND hWnd = CreateWindow(TEXT("LISTBOX"), TEXT("Main"), 
         WS_VISIBLE | WS_SIZEBOX | WS_OVERLAPPEDWINDOW,
         100, 100, 300, 300, NULL, NULL, hInst, NULL);
    
      SendMessage(hWnd, LB_ADDSTRING, 0, (LPARAM)TEXT("Test"));
      UpdateWindow(hWnd);
    
      MSG msg;		
      while(GetMessage(&msg, NULL, 0, 0)) {
           TranslateMessage(&msg);
           DispatchMessage(&msg);
      }
    
      return 0;
    }
    

    Macht genau das, was Du wolltest ...


Anmelden zum Antworten