C - Programm als Hintergrundprozess

Diskutiere C - Programm als Hintergrundprozess im Developer Network Forum im Bereich Hardware & Software Forum; moin leute, ich hab mich grad mal kurz in google umgeschaut, hab aber nix brauchbares gefunden, also wollte ich mal hier fragen: wie kann...
  • C - Programm als Hintergrundprozess Beitrag #1
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
moin leute,

ich hab mich grad mal kurz in google umgeschaut, hab aber nix brauchbares gefunden, also wollte ich mal hier fragen:

wie kann ich ein c-programm als hintergrundprozess laufen lassen? d.h. ich will es beim pc in den autostart legen und es soll dann aber nicht gesehen werden...

wie geht sowas in c?

wär cool, wenn ihr mir da helfen könntet, danke schonmal:)

mfg
Pyro
 
  • C - Programm als Hintergrundprozess Beitrag #2
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Naja, entweder du programmierst es als Dienst, versteckst die Console oder erstellst bei einer Fensteranwendung kein oder ein unsichbares Fenster.
Am einfachsten wäre wohl es über Fensteranwendung zu machen. So hast du keine Console die am anfang auf geht und direkt wieder verschwindet.
 
  • C - Programm als Hintergrundprozess Beitrag #3
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
wie kann ich es in c als dienst programmiereN?
 
  • C - Programm als Hintergrundprozess Beitrag #4
bummelbum

bummelbum

Bekanntes Mitglied
Dabei seit
18.04.2009
Beiträge
946
Reaktionspunkte
0
Code:
HWND hWnd;
hWnd = GetForegroundWindow();
ShowWindow(hWnd, SW_HIDE);
Sleep(3000); //<- 3 Sekunden
ShowWindow(hWnd, SW_SHOW);
Sleep(3000);
Naja, entweder du programmierst es als Dienst, versteckst die Console oder erstellst bei einer Fensteranwendung kein oder ein unsichbares Fenster.
Am einfachsten wäre wohl es über Fensteranwendung zu machen. So hast du keine Console die am anfang auf geht und direkt wieder verschwindet.
Um ein Fenster zu verstecken.

Und wie soll es als Dienst funktionieren?
Ein Dienst ist ja keine Anwendung
 
  • C - Programm als Hintergrundprozess Beitrag #5
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
  • C - Programm als Hintergrundprozess Beitrag #6
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
[...]
Am einfachsten wäre wohl es über Fensteranwendung zu machen. [...]
Mein Reden oder?
Bummelbum, dein Code scheint mir nicht sehr sauber / sicher.
Wenn würde ich es eher mit GetConsoleWindow oder SetConsoleTitle und dann mit FindWidow an diesen Handle gelangen.
 
  • C - Programm als Hintergrundprozess Beitrag #7
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
habs jetzt schon aus dem c/c++ forum, aber danke :)
wenns noch fragen gibt sag ich bescheid
 
  • C - Programm als Hintergrundprozess Beitrag #8
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
habs jetzt schon aus dem c/c++ forum, aber danke :)
wenns noch fragen gibt sag ich bescheid

wenn sich die Lösung von unserer, hier präsentierten unterscheidet, kannst du die ja mal posten (oder die genaue Quelle preis geben), damit jemandem der diesen thread findet auch geholfen wird
 
  • C - Programm als Hintergrundprozess Beitrag #9
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
ne, is der gleiche code wie hier, sonst hätt ich den schon gepostet:)
 
  • C - Programm als Hintergrundprozess Beitrag #10
bummelbum

bummelbum

Bekanntes Mitglied
Dabei seit
18.04.2009
Beiträge
946
Reaktionspunkte
0
  • C - Programm als Hintergrundprozess Beitrag #11
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
  • C - Programm als Hintergrundprozess Beitrag #12
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Richtig, nicht nur das, es reicht schon, wenn deine Console / dein Fenster nicht schnell genaug aufgeht, weil dein System vielleicht etwas überlastet ist und es somit nicht das ForegroundWindow ist. Solche Sachen können ja immer mal passieren.
Wie schon erwähnt:
Code:
HWND GetConsoleWindow(void);
Das ist hier deutlich angebrachter und meiner Meinung nach auch eleganter. :goil:
 
  • C - Programm als Hintergrundprozess Beitrag #13
P

PyroDragonfly

Bekanntes Mitglied
Dabei seit
24.09.2009
Beiträge
410
Reaktionspunkte
0
also atm hab ich diesen code:

Code von der Seite: www.c-plusplus.de

Code:
HWND hide (void)
{
  char str[MAX_PATH];
  HWND hwnd;
  GetConsoleTitle ((char*)str, MAX_PATH);
  hwnd = FindWindow (NULL, str);
  if (hwnd)
    ShowWindow (hwnd, SW_HIDE);
  return hwnd;
}

// test
int main (void)
{
  HWND hwnd = hide();
  MessageBox (0, "click to show", "console hidden", MB_OK);
  ShowWindow (hwnd, SW_SHOW);
  return 0;
}
 
  • C - Programm als Hintergrundprozess Beitrag #14
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Noch einfacher ist es mit einer Windows-Application. Schreib einfach
Code:
int WINAPI WinMain(      
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
anstelle von
Code:
int main(int argc, char* argv[])
 
Thema:

C - Programm als Hintergrundprozess

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben