C / c++ Anwendung ohne Win Fenster oder Konsolenfenster
-
stdafx.h ist bei mri noch nicht vorhanden was ist mit dieser header möglich?
Kann man das ganze nicht so lösen das man dem Kompiler irgendwie klar macht das man keine konsolenanwendung erstellen will?
mfg
-
/ Nchtrag
Habe kein C++ projekt sondern C, stdafx.h ist doch eine header für c++ oder?
-
ok die lösung ist dem linker folgendes Parameter zu übergeben: -mwindows
-
Ich benutze Visual Studio 8 (2005). Kann mir einer sagen wo ich da diesen -mwindows Parameter setzten muss?
Ich will diese blöde Dosbox auch loswerden.
Da man aber trozdem argumente übergeben können muss kommt die Lösung von vlad_tepesch wohl nicht in Frage.
-
Project|Properties|..|Linker|Subsystem: WINDOWS
-
Erzeuge einfach ein ganz normales Win32 Projekt, kein Win32 Konsolen Projekt. Du brauchst dann garkein Fenster erstellen, denn die Nachrichten benötigst du ja schließlih nicht mehr, da du ja auch kein Fenster hast. Wenn du die Nachrichten trotzdem brauchst, lässt du einfach in der Message Loop die TranslateMessage() Funktion weg, und ermittelst die nachrihten indem du direkt die MSG struktur abfragst.
Ich muss aber sagen das ih den anschein habe das du überhaupt keine Ahnung hast was du da eigentlich machst.
Mach besser ein paar Tuts durch und les dir durch was drt steht und versuche es nach zu vollziehen. Niht einfach Kopieren->Einfügen-> Testen ob es geht ...
-
Jochen Kalmbach schrieb:
Project|Properties|..|Linker|Subsystem: WINDOWS
Diese Einstellung habe ich sogar selber genfunden als ich mir alle angeguckt habe. Bringt aber leider zwei Fehler.
Fehler 4 error LNK2001: Nicht aufgelöstes externes Symbol "_WinMain@16". LIBCMTD.lib
Fehler 5 fatal error LNK1120: 1 nicht aufgelöste externe Verweise. G:\...blah0.2.exeCode-Walker schrieb:
Erzeuge einfach ein ganz normales Win32 Projekt, kein Win32 Konsolen Projekt. Du brauchst dann garkein Fenster erstellen, denn die Nachrichten benötigst du ja schließlih nicht mehr, da du ja auch kein Fenster hast. Wenn du die Nachrichten trotzdem brauchst, lässt du einfach in der Message Loop die TranslateMessage() Funktion weg, und ermittelst die nachrihten indem du direkt die MSG struktur abfragst.
Ich muss aber sagen das ih den anschein habe das du überhaupt keine Ahnung hast was du da eigentlich machst.
Mach besser ein paar Tuts durch und les dir durch was drt steht und versuche es nach zu vollziehen. Niht einfach Kopieren->Einfügen-> Testen ob es geht ...
Was soll man dazu sagen?
Viel klugscheisserei aber überhaupt aufs Thema eingegangen?Ich habe bereits ein voll funktionierendes Programm das eine Javaanwendung startet. Das ist auch alles was es machen muss. Zusätzlich müssen aber auch Argumente weitergegeben werden von der .exe an die .jar. Das funktioniert auch. Aber ich brauche keine Dosbox da die Javaanwendung eine Oberfläche hat. Ja ich habe keine Ahnung von der der win Api. Brauch ich momentan auch nicht haben.
Auch wenns manchen schwer fällt. Ich bräuchte Hilfe ohne irgendwelche schwachsinns Belehrungen wie "Nicht einfach Kopieren->Einfügen-> Testen ob es geht ...".
Falls also jemand was mit den Fehlermeldungen anfangen kann oder noch eine andere Lösung hat wäre ich sehr danbar.
-
Du liest einfach nicht, oder?
Alles ist bereits gesagt. vlad_tepesch hat Dir alles gesagt was notwendig ist.
Du hast vermutlich ein main/_tmain in Deinem C Programm. Wenn es ein Windows Programm ist, dann ist der Entry-Point aber WinMain! Und der fehlt.
Das sagt Dir auch der Linker.
-
Ah danke jetzte habe ich es verstanden.
-
Lol! Ich wollte ja bloß helfen ...
-
Zum Thema
Wie bekomme ich jetzt Argumete in mein Program?
Mitint APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
habe ich zwar eine Windowsanwendung aber kein argc und argv mehr. Sind die Argumente in einem von den Parametern drin? Oder ist das nicht möglich?
-
Es stellen hier öfter Leute Fragen die noch viel zu hoch für die sind und als ich dem Forum beigetreten bin und keine Ahnung von nichts hatte, wurde mir genau das auch immer gesagt! Ich finde es bemerkenswert das du mich draufhin so angreifst, ich wollte dir lediglich nur einen tipp geben!
Und das, dass du argc und argc brauchst habe ich übersehen, ich ging davon aus das du lediglich ein Programm ohne Fenster erstellen wolltest!
-
Du hast doch lpCmdLine? Was ist Dein Problem?
-
Theoretisch kannst Du auch die undokumentierten Variablen __argc und __argv verwenden.
Oder (dokumentiert):
GetCommandLineW und CommandLineToArgvW
-
Martin Richter schrieb:
Du hast doch lpCmdLine? Was ist Dein Problem?
Ich habe eine Frage in einem Forum gestellt. Wo ist dein Problem?
Code-Walker schrieb:
Es stellen hier öfter Leute Fragen die noch viel zu hoch für die sind und als ich dem Forum beigetreten bin und keine Ahnung von nichts hatte, wurde mir genau das auch immer gesagt! Ich finde es bemerkenswert das du mich draufhin so angreifst, ich wollte dir lediglich nur einen tipp geben!
Und das, dass du argc und argc brauchst habe ich übersehen, ich ging davon aus das du lediglich ein Programm ohne Fenster erstellen wolltest!
Ob man neu Angemeldet ist in einem Forum hat nichts mit dem zutun ob man etwas kann oder nicht. Das dir ständig gesagt wurde das du keine Ahnung hast tut mir leid für dich aber obwohl du es sicher als unangenehm empfunden hast machst du genau das selbe.
Den Link von dir fand ich ganz gut für später irgenwann und habe ihn gespeichert. Aber deine Belehrung ich solle mir tuts durchlesen und nicht nur kopieren und einfügen war extrem Beleidigend. Also denk nochmal drüber nach wer hin wen angreift.
Ich muss ehrlich sagen das ich das Forum hier als unangenehm empfinde. Der Sinn eines Forums ist ja wohl doch Fragen zu stellen und darauf Hilfe zu bekommen. Aber wie in Code-Walkers Post zu lesen ist scheint es hier wohl auch normal zu sein Jemanden gleich anzugreifen. Und man muss das dann wohl später selber an Anfänger weitergeben? Selbst ein Moderator hier tut das.
Danke an die die mir geholfen haben aber ich schaue mich denke ich woanders nochmal um.
-
Mach besser ein paar Tuts durch und les dir durch was drt steht und versuche es nach zu vollziehen. Niht einfach Kopieren->Einfügen-> Testen ob es geht ...
Ich habe ich nichts befolen! Das ist ein Tipp!
Ob man neu Angemeldet ist in einem Forum hat nichts mit dem zutun ob man etwas kann oder nicht
Das sagt hier ja auch keiner, ich hatte nur den eindruck das du dich kaum mit der WinAPI auskennst.
Ich habe eine Frage in einem Forum gestellt. Wo ist dein Problem?
Sein Problem ist das er dir hilft!
Den Link von dir fand ich ganz gut für später irgenwann und habe ihn gespeichert
Das war mein erstes WinAPI tut das ich gelesen hatte und gehört zum WinAPI basiswissen.
Der Sinn eines Forums ist ja wohl doch Fragen zu stellen und darauf Hilfe zu bekommen
Bekommst du hier etwa keine Hilfe?? Selbst wenn, hier ist niemand dazu verpflichtet jemand anders zu helfen oder bezahlst du jemanden dafür?
Selbst ein Moderator hier tut das.
Ob das böse gemeint war weiß ich nicht, aber ich halte es für gerechtfertigt.
Das Forum hier ist das beste Programmierer Forum das ich kenne und hier ist jeder bereit zu helfen und wenn du dich darüber s aufregst das dir jemand ein Tipp giebt, und dir über 3 Seiten geholfen wird, dann weiß ich auch nicht weiter ...
-
Google sagt: ... von ungefähr 122.000
Das ist zwar nicht die direkte Lösung aber ein guter Einstieg bzgl. deines Problems.
Sollte Google lügen: http://msdn.microsoft.com/en-us/library/ms633568(VS.85).aspx
Gruß
Lars