Hallo, ich brauche eine Applikation, die mir Daten von der seriellen Schnittstelle ließt und kein Fenster hat. D.h. die Anwendung soll unsichtbar im Hintergrund ablaufen. Ich habe das Ganze unter Visual Studio C++ als Dialog programmiert und es läuft auch soweit - nur lässt sich das Fenster nicht ausblenden. So wie's aussieht kann man das Hauptfenster nicht unsichtbar machen (geht wohl nur mit Childs). Wie macht man sowas am besten? Irgendwie fehlt mir der richtige Denkanstoß. Gruß Georg
hmm, google gibt einen Haufen an zeug aus. http://www.google.de/search?q=unsichtbares+programm+c%2B%2B Da ist doch bestimmt was dabei. Kann es dir nicht sagen, da ich nicht weiß, wie dein Prog ausschaut Gruß, Benni
wenn du das Programm sogar in Hintergrund ohne Benutzer laufen soll, dann programmiert man eine Dienst(Service)
Georg schrieb: > D.h. die Anwendung soll > unsichtbar im Hintergrund ablaufen. Wenn es dann vermutlich unabhängig von einem angemeldeten Benutzer laufen soll, sollte es ein Service/Dienst sein. Dazu gibt es zwei Möglichkeiten: 1. Das Programm hält bestimmte Regeln ein (siehe msdn, da gibt es irgendwo ein Beispielprogramm - macht Arbeit), oder 2. man nimmt ein normales EXE und lässt es von einem Programm namens srvany.exe und instsrv.exe; mithilfe dieser beiden kann man ein x-beliebiges Programm als Service installieren und laufen lassen. Diese Programme waren in älteren Versionen des Resource Kits (NT 4.0) dabei. Bei aktuellen RC sind sie m.W. nicht dabei, funktionieren aber noch auf aktuellen Windowsversionen.
Danke für die Tipps. Ich schau mal wie das mit dem Dienst funktioniert. Ich hoffe das geht auch mit der WIN32 API...
Aber: ich hatte es mir damals durchgelesen und fand es ziemlich umständlich. Weil ich nicht nach Zeit bezahlt wurde, sondern es einfach nur laufen sollte hatte ich srvany.exe genommen :-)
Klaus Wachtler schrieb: > Aber: ich hatte es mir damals durchgelesen und fand es ziemlich > umständlich. kann ich nicht bestätigen, ist eingentlich sehr einfach. Das ganze ist nur ein Konsolenprogramm welchen ein paar Windows Events bekommt auf die man passend reagieren muss. Bei C# ist das ganze in 10 Zeilen erledigt. In C ist es ewas mehr aber es werden auch keine 100Zeilen werden. > Weil ich nicht nach Zeit bezahlt wurde, sondern es einfach nur laufen > sollte hatte ich srvany.exe genommen :-) naja, diese lösung hat den Großen nachteil das man den Dienst nich einfach beenden kann weil man die Events nicht auswerten kann. Beim beenden wird das Progamm irgendwie abgeschossen. Diese lösung verwene ich nur bei Programmen wo ich kein quellcode habe.
Einfach den Dialog weglassen, wo keins ist kann auch keins angezeigt werden ;D
Peter II schrieb: > Klaus Wachtler schrieb: >> Aber: ich hatte es mir damals durchgelesen und fand es ziemlich >> umständlich. > kann ich nicht bestätigen, ist eingentlich sehr einfach. Das ganze ist > nur ein Konsolenprogramm welchen ein paar Windows Events bekommt auf die > man passend reagieren muss. Bei C# ist das ganze in 10 Zeilen erledigt. > In C ist es ewas mehr aber es werden auch keine 100Zeilen werden. Mag sein; das ist schon einige Zeit her und mein Gedächtnis arbeitet mit VFL - Very Fuzzy Logic :-) > >> Weil ich nicht nach Zeit bezahlt wurde, sondern es einfach nur laufen >> sollte hatte ich srvany.exe genommen :-) > naja, diese lösung hat den Großen nachteil das man den Dienst nich > einfach beenden kann weil man die Events nicht auswerten kann. Beim > beenden wird das Progamm irgendwie abgeschossen. Wenn man ein Programm halt einfach beim Rechnerstart laufen lassen will, reicht es vollkommen.
die einfachste Variante ist: leg im Visual Studio ein neues Win32 (Fenster)-Projekt an. Räum die Main-Funktion und alles, was die callt raus. Dann hast du eine Anwendung, die kein Fenster und keine Konsole aufmacht
Für was hast du ein Fester erstellt, wenn du keines brauchst? Lass es weg, oder zeige es nicht an.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.