EXE im Vollbild über CMD



  • also ich meine wie man es hin bekommt das e9ne exe immer im vollbild modus gestartet wird.

    also, das wenn ich meine exe jetzt an jemand anders weitergebe, und wenn er sie das erste mal startet schon im vollbild modus angezeigt wird, ohne das der user was daran ändern muss, weißt du wie das geht?



  • Hast Jochen Kalmbach's Frage noch nicht beantwortet. Solange ist effektive Hilfe nicht möglich :

    Showball schrieb:

    API, ich denke mal das ist windows aplikation

    Das ist leider keine hilfreiche Antwort. Ist es eine oder nicht ? Poste mal ein wenig Code.



  • Hmm entweder ih rede an euch vorbei oder ihr an mich^^

    naja, falls ich mich falsch ausgedrückt habe,
    Ich habe eine exe, ist ja eigentlich ganz egal was für eine exe ...

    Die habe ich mit C++ in WinADI geschrieben, also ist eine Windows konsole als windows anweisung 🙂

    Also wenn man neues project macht auf win32 und da dann windows konsole dann ok und dann auf weiter wenn das neue fenster da kommt, dort klicke ich dann windows anweisung an ... hoffe so war die frage gemeint^^

    ich benutze halt Microsoft Visual C++ 2005 express edition ...

    Nun frage ich mich, ob man das irgent wie hin bekommt, das man mit CMD ( sry wen ich mich nunn vertuhe, ich habe gehört sowas geht mit CMD)
    die exe im vollbild modus starten kann. also, eigentlich möchte ich nur, das diese exe im vollbild modus angezeigt wird ohne die windows status leiste ganz ujnten oder sonst was 🙂

    hlt wenn ich die exe jetzt nen kumpel geben würde, das er garnichts machen muss, einfach nur die exe starten und sie wird imm vollbild angezeigt 🙂

    ich weiß jetzt nicht genau was CMD ist, habe halt gehört das das damit geht mehr nicht^^

    Also ich bejnutze window-app 🙂

    ich hoffe ich habe damit alle fragen beantwortet 🙂



  • Probier mal den ultimativen Konsolen-FullScreen-Trick
    🙂



  • Danke für die antwort das hat mir jetzt zu 75% weiter geholfen, habe halt noch ein problehm 😞

    So sieht nun das gesammter code aus:

    #include <windows.h>
    #include "stdafx.h"
    #include "irgentwas.h"
    
    void FullScreen ()
    {
        keybd_event ( VK_MENU , 0x38 , 0 , 0 );
        keybd_event ( VK_RETURN , 0x1c , 0 , 0 );
        keybd_event ( VK_RETURN , 0x1c , KEYEVENTF_KEYUP , 0 );
        keybd_event ( VK_MENU , 0x38 , KEYEVENTF_KEYUP , 0 );
    }
    

    und beim kompilieren spuckt er mir das aus:

    MSVCRTD.lib(crtexew.obj) : 
    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    C:\Dokumente und Einstellungen\Eigene Dateien\Visual Studio 2005\Projects\irgentwas\Debug\irgentwas.exe : 
    fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    

    Für mich ist das gerade ziehmlich spanisch weil ich dei funktionen garnet in meinem code sehe 😮

    ich habe doch bestimmt wieder irgent etwas falsch gemacht oder??^^
    Köntest du mir helfen, plz? 🙄



  • Die Funktion "void FullScreen ()" ist korrekt. Nur muss sie irgendwo aufgerufen werden. Meist in der "main ()".
    Aber wo ist die denn ? Poste mal, was in der "irgentwas.h" steht.



  • #pragma once
    
    #include "resource.h"
    

    das steht da drinne 😕

    Aber, ich will nochmal sagen das ich WinAPI benutze, also ne windows anweisung ...

    könntest du mir sagen wie ich da dann die main setzen muss? komme damit noch net so wirklich klar^^

    das muss doch so aus sehen in der irgentwas.cpp (mitlerweile irgentwas2.cpp)

    #include <windows.h>
    #include "stdafx.h"
    #include "irgentwas2.h"
    
    int winmain()
    {
    	void FullScreen ()
    {
        keybd_event ( VK_MENU , 0x38 , 0 , 0 );
        keybd_event ( VK_RETURN , 0x1c , 0 , 0 );
        keybd_event ( VK_RETURN , 0x1c , KEYEVENTF_KEYUP , 0 );
        keybd_event ( VK_MENU , 0x38 , KEYEVENTF_KEYUP , 0 );
    }
    }
    


  • Probier mal so :

    #include <windows.h>
    #include <iostream>
    #include "stdafx.h"
    #include "irgentwas2.h"
    
    void FullScreen ()
    {
     keybd_event (VK_MENU,  0x38,0,0);
     keybd_event (VK_RETURN,0x1C,0,0);
     keybd_event (VK_RETURN,0x1C,KEYEVENTF_KEYUP,0);
     keybd_event (VK_MENU,  0x38,KEYEVENTF_KEYUP,0);
    }
    
    int main (int argc, char **argv) 
    {
     std::cout << "vor  keybd_event ()" << std::endl;
     Sleep  (1000);
    
     FullScreen ();
    
     std::cout << "nach keybd_event ()" << std::endl;
     Sleep  (5000);
    
     std::cout << "Ende in 5 Sekunden" << std::endl;
     Sleep  (5000);
    
     return 0;
    }
    


  • jetzt spuckt er das hier aus:

    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(19) : error C2653: 'std': Keine Klasse oder Namespace
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(19) : error C2065: 'cout': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(19) : error C2653: 'std': Keine Klasse oder Namespace
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(19) : error C2065: 'endl': nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(24) : error C2653: 'std': Keine Klasse oder Namespace
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(24) : error C2653: 'std': Keine Klasse oder Namespace
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(27) : error C2653: 'std': Keine Klasse oder Namespace
    c:\dokumente und einstellungen\dustin.trance\eigene dateien\visual studio 2005\projects\irgentwas2\irgentwas2\irgentwas2.cpp(27) : error C2653: 'std': Keine Klasse oder Namespace
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Dustin.TRANCE\Eigene Dateien\Visual Studio 2005\Projects\irgentwas2\irgentwas2\Debug\BuildLog.htm" gespeichert.
    irgentwas2 - 8 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    habe mal so ne frage, könntest du mir vieleicht deine icq geben?? ich bin nähmlih ganz neu im bereich c++ und es würde mich freuen wenn ich jemanden hätte den ich um rat fragen kann 🙂



  • Probier mal die "stdafx.h" ganz nach oben zu setzen :

    #include "stdafx.h"
    #include <windows.h>
    #include <iostream>
    // #include "stdafx.h"
    #include "irgentwas2.h"
    ...
    


  • hmm, einen schritt sind wir ja jetzt schon mal weiter, beim kompiliren kommt schionmal keine error, aber dafür nun beim verknüpfung erstellen 😞

    Kompilieren...
    irgentwas2.cpp
    Verknüpfen...
    MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    C:\Dokumente und Einstellungen\Dustin.TRANCE\Eigene Dateien\Visual Studio 2005\Projects\irgentwas2\Debug\irgentwas2.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Dustin.TRANCE\Eigene Dateien\Visual Studio 2005\Projects\irgentwas2\irgentwas2\Debug\BuildLog.htm" gespeichert.
    irgentwas2 - 2 Fehler, 0 Warnung(en)

    PS: die ganzen tutoriale gehen nu bei mir habe den fehler entdeckt, schaue den neuen thread von mir an, und andere frage, darf ich eigentlich threads hier aufmachen die andere inforieren?? also wo keine frage gestellt wurde halt nur ne info amchen??^^

    Hast du ICQ?? 😃


  • Mod

    Man kann ein Command Fenster im Vollbild Modus startren in dem man selbst den entsprechenden Start-Parameter von CreateProcess auf STARTF_RUNFULLSCREEN setzt.

    Die EXE selbst hat darüber keinen Einfluss. Den Trick mit keybd_event/SendInput finde ich etwas "extrem".

    @showball: Du hast keine Consolen Anwndung erzeugt sonder, eine Windows Anwendung. Die eine hat eine main ,die andere eine WinMain als Einstiegsfunktion.



  • ja, da mit den konsolen etc blicke ich noch nicht ganz durch.

    Also WinAPI habe ich, also ei windows fenster.

    Wenn ich nun ein nues projekt machen will, dann gehe ich auf win32 und auf windows konsole.

    dann kommt ein neues fenster, klicke da uf weiter und klicke dort windows anwendung an.

    Das ist dann doch eine windows anwendung oder?


  • Mod

    Welches VS hast Du denn?

    Bei mir im VS-2005 heißt es einmal unter Visual C++ im Abschnitt Win32:
    Win32 Console Application bzw. Win32 Project
    Beide starten jeweils den selben Wizard nur mit einer anderen Vorbelegung.
    Man kann bei beiden Wizards den Grundtyp der Anwendung ändern.

    Entscheidend ist was du auf der Seite "Application Settings" sagst!



  • Also ich benutze Microsoft Visual C++ 2005 Express Edition ...

    Wenn ich ein neues projekt mache, gehe ich erst auf Win32 dann auf windows konsole, danch bei den Anweisungseinstellungen gehe ich auf Windows Anwendung ...

    Das ist doch richtig oder?? ih hoffe es zumindestens^^

    Hmm, wie bekomme ich das denn nu bloß hin? habe da auch schon einen Quellcode gemact, bei dem kein error kommt, aber wenn ih es starte kommt kein window 😕


  • Mod

    Ich kenne diesen Wizrad aus EE nicht.
    Aber in meinen Augen wäre das falsch um eine Konsolen Anwendung zu erzeugen. Dort müsste auch Consolen Anwendung stehen.

    Wenn WinMain in der CPP drin seht hat der Wizard keine Konsolenanwendung erzeugt!



  • Hm, wählst du immer erst Windows-Konsole aus, um das nachher doch wieder auf Windows Anwendung umzustellen? Mach doch einfach von vornherein ein Win32 Projekt, das sollte dann auch schon komplett mit WinMain kommen. Warum also über drei Ecken gehen, wenn man auch direkt ans Ziel kommt.

    Was willst du denn? Eine Windows-Anwendung (mit Fenster, X oben rechts, etc.) oder eine Konsole (schwarzer Hintergrund, Eingabeaufforderung, ...)???



  • Oh, habe in einem Tutorail gelesen, das man erst konsolen anwendung, und dann windows anwendung ^^ Danke für den Tipp!

    Die erste möglichkeit währe ganz nett, also für Windows Anwendung.

    Mir wurde hier im Forum gesagt sowas kann man mit DirektX machen, habe aber leider keine Ahnung davon 😞

    kann man das auch anders amchen?

    Währe es möglich ein windows fenster ohne rand ohne alles zu machen und das auf vollbild, bzw volle auflösung, zb wenn ich 1024x864 habe, das es 1024 pixel breit und 864 pixel hoch ist. Dann müsste man doch noch irgentwie die status leiste von windows, aslo die start leiste unten weg zu bekommen sein oder?



  • // window erstellen
    	hWnd = CreateWindow(szAppName,
    			TEXT("FullscreenWindow"),
    			WS_POPUP,
    			CW_USEDEFAULT,
    			CW_USEDEFAULT,
    			CW_USEDEFAULT,
    			CW_USEDEFAULT,
    			NULL,
    			NULL,
    			hInstance,
    			NULL);
    
    	// window darstellen und maximieren
    	ShowWindow(hWnd, SW_MAXIMIZE);
    

    Damit hat das Fenster keinen Rand und verdeckt alles(!) andere, wie ein Spiel. Die Auflösung ist dann die gleiche wie beim Desktop.

    Dafür braucht man kein DirectX. Wenn ich mich nicht irre, wird das da nicht anders gemacht, nur dass das Fenster dann eine große DirectX-Surface ist. Aber das ist nur eine Annahme, DirectX-Profis könnten das berichtigen.

    gruß



  • hey danke!! Es klappt!!! perfekt, genau so habe ich mir das vorgestellt danke danke danke, tausenden dank!!!

    mir schwirte diese idee auch schon etwas länger im kopf herum, aber wusste nicht wie ich sie umsetzen kann, und glaubte, das die start leiste dann net verschwindet, aber es klppt 😃

    Vielen dank!!


Anmelden zum Antworten