C++ code voor proggie in achtergrond te laten lopen

Pagina: 1
Acties:
  • 83 views sinds 30-01-2008

  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
Heej, ik ben sinds kort bezig met C++. Nu wil ik een programma'tje wat ik heb gemaakt in de achtergrond laten lopen. Hoe kan ik dit doen?
Thx alvast!

  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Wat bedoel je precies met "op de achtergrond"?

  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
Palinchron schreef op zaterdag 19 maart 2005 @ 15:38:
Wat bedoel je precies met "op de achtergrond"?
Dat je niet kan zien dat een bepaald programma (in dit geval de mijne) loopt. Het programma moet dus net zoiets als taakbeheer op de achtergrond lopen.

  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Je kunt toch gewoon geen venstertje maken? Of had je meer in gedachten? Het enige wat ik verder nog kan verzinnen op het gebied van onzichtbaarheid is de mogelijkheid om - alleen op windows 9x - niet in de CTRL-ALT-DEL lijst te verschijnen. Dit kan worden berijkt met RegisterServiceProcess, of iets dergelijks.

Overigens is het wel de bedoeling dat je eerst zelf wat onderzoek doet voor je hier post. Je zou bijvoorbeeld eens een open source achtergrond programma kunnen bekijken. Ook moet je voortaan specifiekere informatie in je startpost zetten, anders moeten we weer twee (of meer) posts wasten om rond te krijgen wat de vraag precies is.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
./a.out &

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Je zult met de Win32 API aan de slag moeten om dat voor elkaar te krijgen. Dit lijkt me een goede plek om te beginnen met zoeken:
http://msdn.microsoft.com..._and_thread_functions.asp
...of te besluiten iets makkelijkers te proberen. Galgje ofzo :)

[ Voor 4% gewijzigd door MrBucket op 19-03-2005 15:50 ]


  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
? waar moet 'k dees neerzette? of is dit geen code ofzo:S

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Luukieeee schreef op zaterdag 19 maart 2005 @ 15:49:
[...]
? waar moet 'k dees neerzette? of is dit geen code ofzo:S
Het is code om elk willekeurig programma in de achtergrond te laten lopen onder *nix systemen. Heeft totaal niks met C++ te maken, en is voor jou dan ook volkomen irrelevant.

  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Luukieeee schreef op zaterdag 19 maart 2005 @ 15:49:
[...]

? waar moet 'k dees neerzette? of is dit geen code ofzo:S
Geintje van MSAlters... daarmee start je onder unix het programma a.out op die op de achtergrond loopt.

  • Domokoen
  • Registratie: Januari 2003
  • Laatst online: 22:21
Luukieeee schreef op zaterdag 19 maart 2005 @ 15:49:
[...]

? waar moet 'k dees neerzette? of is dit geen code ofzo:S
Dit is voor Linux shell. In je start-post vermeldt je niet op welk platform je werkt.

  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
hmzz..okeej. In ieder geval weet ik al dat dit iets moeilijkers is :9 Het probleem is tevens, dat als ik iemand anders dat programma stuur dat ie daar ook gelijk op de achtergrond moet gaan lopen...

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
GlowMouse schreef op zaterdag 19 maart 2005 @ 15:51:
[...]
Het is code om elk willekeurig programma in de achtergrond te laten lopen onder *nix systemen. Heeft totaal niks met C++ te maken, en is voor jou dan ook volkomen irrelevant.
Duh, de achtergrond heeft niets met C++ te maken en alles met de shell (wat een onderdeel is van het OS). Vandaar dat ik de echte vraag beantwoord, zonder me te laten leiden door een overhaaste techniekkeuze.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Luukieeee schreef op zaterdag 19 maart 2005 @ 15:59:
hmzz..okeej. In ieder geval weet ik al dat dit iets moeilijkers is :9 Het probleem is tevens, dat als ik iemand anders dat programma stuur dat ie daar ook gelijk op de achtergrond moet gaan lopen...
Nog steeds eitje

cat > shellscript
#! /bin/bash
./a.out &
^D
chmod +x shellscript

Moet dat persoon natuurlijk ook linux hebben.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Ik zie niet wat het probleem is. Als je geen venstertje maakt draait hij toch automatisch op de achtergrond?

MSalters: dat is mooi, maar dat beantwoord de vraag niet. Hij wil weten hoe je het in c++ kan doen. Als je die vraag niet kan beantwoorden hoef je dus ook geen andere oplossing te geven, die werkt voor het OS dat jij toevallig hebt gekozen.

  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
Palinchron schreef op zaterdag 19 maart 2005 @ 16:04:
Ik zie niet wat het probleem is. Als je geen venstertje maakt draait hij toch automatisch op de achtergrond?

MSalters: dat is mooi, maar dat beantwoord de vraag niet. Hij wil weten hoe je het in c++ kan doen. Als je die vraag niet kan beantwoorden hoef je dus ook geen andere oplossing te geven, die werkt voor het OS dat jij toevallig hebt gekozen.
kej! maarre sorry voor dit n00b-vraagje: hoe maak ik geen venster dan :9

  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Je zoekt de code op waar je het venster maakt, en sloopt dat eruit?

edit:
Ik denk dat je een commandline tooltje hebt gemaakt. Krijg je zo'n (leeg) zwart venstertje als het programma wordt gestart?

[ Voor 50% gewijzigd door RedLizard op 19-03-2005 16:11 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Luukieeee schreef op zaterdag 19 maart 2005 @ 16:07:
[...]

kej! maarre sorry voor dit n00b-vraagje: hoe maak ik geen venster dan :9
door misschien bij het begin van je tutorial/boek te beginnen ipv achteraan?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 10-05 05:42
Tja, MSalters loopt het topic natuurlijk niet zomaar een beetje te verzieken; ik zal de hint maar even expliciet maken: het kan niet met C++. Je hebt een platformspecifieke faciliteit nodig.

Je vraag zou dus iets moeten zijn als: hoe kan ik met de Win32 API een programma in de achtergrond starten? (Want ik vermoed dat het om Windows gaat.) Dan stelt Palinchron terecht de vraag wat 'in de achtergrond' is, en waarom een programma zonder zichtbare vensters niet gewoon voldoet.

Die vraag heeft dus zo goed als niets met C++ te maken. Maar als je zo clueless bent dat je dat niet ziet kun je het maar beter helemaal opgeven tot je enige programmeerkennis en -ervaring hebt opgedaan. Tegelijkertijd heb ik het idee dat je een malefide doel voor ogen hebt en daar ga ik je in ieder geval niet mee helpen.

[ Voor 27% gewijzigd door Soultaker op 19-03-2005 16:15 ]


  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Erkens schreef op zaterdag 19 maart 2005 @ 16:12:
[...]

door misschien bij het begin van je tutorial/boek te beginnen ipv achteraan?
Juist niet. Veel tutorials beginnen met de standaard C programmastart, en introduceren later pas alternatieve startfuncties als WinMain.

  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
Palinchron schreef op zaterdag 19 maart 2005 @ 16:08:
Je zoekt de code op waar je het venster maakt, en sloopt dat eruit?

edit:
Ik denk dat je een commandline tooltje hebt gemaakt. Krijg je zo'n (leeg) zwart venstertje als het programma wordt gestart?
hmzz...dit is de code:

#include <cstdlib>
#include <iostream>

int main(int argc, char *argv[])

{
system("title test");
system("PAUSE");

return EXIT_SUCCESS;
}

wat moet ik weghalen?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 10-05 05:42
Palinchron schreef op zaterdag 19 maart 2005 @ 16:14:
Juist niet. Veel tutorials beginnen met de standaard C programmastart, en introduceren later pas alternatieve startfuncties als WinMain.
Terecht, want de Win32 API heeft geen ruk met C of C++ te maken. De reden dat je wel vooraan je boek moet beginnen is dat je dan eerst de taal leert kennen en dan ook het onderscheid leert tussen functionaliteit van de taal, functionaliteit van de standaard library en platform-specifieke functionaliteit zoals Windows API calls.

[ Voor 30% gewijzigd door Soultaker op 19-03-2005 16:17 ]


  • Wokkels
  • Registratie: Juli 2000
  • Laatst online: 29-10-2024

Wokkels

Het lekkerste zoutje

Luukieeee schreef op zaterdag 19 maart 2005 @ 15:59:
hmzz..okeej. In ieder geval weet ik al dat dit iets moeilijkers is :9 Het probleem is tevens, dat als ik iemand anders dat programma stuur dat ie daar ook gelijk op de achtergrond moet gaan lopen...
Koop anders Virusontwikkeling voor Dummies :+

serieus: klinkt niet echt als een 'lief' progje wat je probeert te schrijven 8)7

Permanent wintericon!


  • RedLizard
  • Registratie: Februari 2005
  • Laatst online: 09-02 15:29
Ik geef dan ook geen mening. ;)

edit: daar heb je helemaal gelijk in. Alleen las ik Erkens' reactie als "voorin het boek zal je de oplossing vinden".

[ Voor 66% gewijzigd door RedLizard op 19-03-2005 16:19 ]


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
8)7

Vooropgesteld dat je wilt leren programmeren (en niet alleen wilt weten hoe je bij je ex ongemerkt een keylogger kan installeren), zou ik toch echt met iets simpels beginnen zoals galgje, raadt het getal of boter kaas en eieren ofzo. Dan zul je merken dat je al genoeg problemen tegenkomt.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Luukieeee schreef op zaterdag 19 maart 2005 @ 16:15:
[...]


hmzz...dit is de code:

#include <cstdlib>
#include <iostream>

int main(int argc, char *argv[])

{
system("title test");
system("PAUSE");

return EXIT_SUCCESS;
}

wat moet ik weghalen?
Da's geen standaard C++ als ik het zo zie, dan zou het std::system moeten zijn.
Maar de C++ code is voor de rest niet Windows of Unix specifiek. Beide gebruiken een al aanwezig window om de eventuele <iostream> output te laten zien, en er is geen speciale GUI code gebruikt.

Nu gebruik je dus Windows, gezien je aanroep van PAUSE, en je beschrijving van een opkomend window. In dat geval moet je de MSDN eens bekijken. Het is relatief makkelijk om zo'n standaard C++ programma om te bouwen naar een Windows Service. .INF file'tje erbij, daarop rechts klikken ->install en de service draait daarna onzichtbaar (lees:niet op de desktop).

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Alm4riC
  • Registratie: Februari 2005
  • Laatst online: 19-04 20:33
MSalters schreef op zaterdag 19 maart 2005 @ 16:27:
[...]

Da's geen standaard C++ als ik het zo zie, dan zou het std::system moeten zijn.
Maar de C++ code is voor de rest niet Windows of Unix specifiek. Beide gebruiken een al aanwezig window om de eventuele <iostream> output te laten zien, en er is geen speciale GUI code gebruikt.

Nu gebruik je dus Windows, gezien je aanroep van PAUSE, en je beschrijving van een opkomend window. In dat geval moet je de MSDN eens bekijken. Het is relatief makkelijk om zo'n standaard C++ programma om te bouwen naar een Windows Service. .INF file'tje erbij, daarop rechts klikken ->install en de service draait daarna onzichtbaar (lees:niet op de desktop).
En als ik wist hoe dit moest? Thx alvast, dat in ieder geval maar kweet dan nog niet hoe ik wat moet maken.

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Wokkels schreef op zaterdag 19 maart 2005 @ 16:17:
[...]

Koop anders Virusontwikkeling voor Dummies :+

serieus: klinkt niet echt als een 'lief' progje wat je probeert te schrijven 8)7
idd dat denk ik ook al de hele topic lang...

klinkt als een scriptkiddie op zoek naar roem...

ASSUME makes an ASS out of U and ME


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:52

gorgi_19

Kruimeltjes zijn weer op :9

Zie P&W FAQ - De "quickstart" voor de eisen die we stellen aan een topic. Verder geeft MSalters in MSalters in "C++ code voor proggie in achtergrond te ..." de kern al aan. Eventuele win32 calls zullen ook wel eenvoudig mbv MSDN / Google op te zoeken zijn :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.