Forum: PC-Programmierung Prozeß ohne Fenster


von Georg (Gast)


Lesenswert?

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

von MPL (Gast)


Lesenswert?

in den tray minimieren ? oder komplett unsichtbar ala troyaner und co ?

von Benjamin U. (utzus)


Lesenswert?

Die Plattform scheint wohl Windoof zu sein oder?

Gruß,
Benni

von Georg (Gast)


Lesenswert?

Ja, ist Windows und soll komplett unsichtbar sein.

von Benjamin U. (utzus)


Lesenswert?

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

von Peter II (Gast)


Lesenswert?

wenn du das Programm sogar in Hintergrund ohne Benutzer laufen soll, 
dann programmiert man eine Dienst(Service)

von Klaus W. (mfgkw)


Lesenswert?

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.

von Georg (Gast)


Lesenswert?

Danke für die Tipps.

Ich schau mal wie das mit dem Dienst funktioniert. Ich hoffe das geht 
auch mit der WIN32 API...

von Peter II (Gast)


Lesenswert?

Georg schrieb:
> Ich hoffe das geht auch mit der WIN32 API...
es geht NUR mit der win32 api.

von Klaus W. (mfgkw)


Lesenswert?

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 :-)

von Peter II (Gast)


Lesenswert?

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.

von Peter II (Gast)


Lesenswert?


von bluppdidupp (Gast)


Lesenswert?

Einfach den Dialog weglassen, wo keins ist kann auch keins angezeigt 
werden ;D

von Klaus W. (mfgkw)


Lesenswert?

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.

von Vlad T. (vlad_tepesch)


Lesenswert?

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

von Sam .. (sam1994)


Lesenswert?

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
Noch kein Account? Hier anmelden.