Avatar billede nameless Nybegynder
05. november 2003 - 14:47 Der er 11 kommentarer og
1 løsning

Kører i baggrunden

Jeg er lige gået i gang med c++ men har en del erfaringer med andre programmeringsprog

Jeg bruger en Borland C++ compiler

Spørgmålet er bare: Hvordan får jeg en exefil til at kører i baggrunden inde under processor ?

Jeg får hele tiden en dos prompt frem men istedet skal den slet ikke åbne noget og så bare stå og kører i baggrunden med nogle loops der redigere nogle filer når de bliver oprettet.

Kort sagt: Få den til at kører i baggrunden fx med en usynlig form eller noet :P ved ikke hvordan det laves
Avatar billede arne_v Ekspert
05. november 2003 - 14:53 #1
Vil du have den til at køre som Windows Service ??
Avatar billede nameless Nybegynder
05. november 2003 - 14:55 #2
Det er lidt lige meget. Skal bruges til sådan noget småtteri så det skal ikke være det helt vilde.

Da jeg bruger den på computere der "formatere" hver gang man genstarter skal det kun være EN fil og ikke nogen form for install. Bare kør exefilen(som køres med pagrametre) og så kører den i baggrunden og ordner nogle filer.
Avatar billede soreno Praktikant
05. november 2003 - 15:28 #3
Link med subsystem=windows og lad være med at lave et GUI vindue.

Hvordan ?

Jeg kender desværre ikke Borland.

Men den option findes givet vis i noget der ligner "project settings".
Avatar billede nameless Nybegynder
05. november 2003 - 15:31 #4
altså bare include <windows.h> ?

Den Borland C++ er en commandopromt compiler. Altså alt skal skrives i notepad eller lign
Avatar billede soreno Praktikant
05. november 2003 - 15:37 #5
Så skal du give et bestemt parameter til linkeren når du linker.

En googling giver:
On Borland C++ 5.5 (the command-line compiler), remove the command line options '-W' and '-laa'.

Hvis du har tilføjet de parametre så fjern dem, hvis ikke så tilføj dem.
Avatar billede nameless Nybegynder
05. november 2003 - 17:26 #6
Okay så langt så godt.
Mangler stadig et eksempel på en
WinMain der laver en usynlig form, der ligger inde under processor, der bare skal være der og ikke udfører noget.
Avatar billede soreno Praktikant
05. november 2003 - 17:33 #7
Post den kode du har lavet - så kommer vi med forslag til forbedringer.
Avatar billede nameless Nybegynder
05. november 2003 - 17:43 #8
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    HWND hwnd;
    WNDCLASSEX wincl;
    TCHAR name[]={"_FALLENHOBIT"};
    hInst = hInstance;
    MSG messages;

null
    wincl.hInstance = hInstance;
    wincl.lpszClassName = name;
    wincl.lpfnWndProc = WndProc;
    wincl.style = 0;
    wincl.cbSize = sizeof(WNDCLASSEX);
    wincl.hIcon = NULL;
    wincl.hIconSm = NULL;
    wincl.hCursor = NULL;
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = 0;
    wincl.lpszMenuName = NULL;
    if(!RegisterClassEx(&wincl)) return 0;
    hwnd = CreateWindowEx(0,(LPCTSTR)name,"",0,0,0,0,0,HWND_DESKTOP,NULL,hInstance,NULL);
    ShowWindow(hwnd,SW_HIDE);

    return 0;
}
Var noget kode jeg fandt men jeg kan ikke rigtig få det til at funke :|
Avatar billede nameless Nybegynder
05. november 2003 - 17:52 #9
Der står et null midt i det hele.. Overse det :P
Avatar billede soreno Praktikant
05. november 2003 - 18:26 #10
Du kunne f.eks. gøre sådan:

#include <windows.h>

int counter = 1;
bool running = true;

void doStuff()
{
    MessageBox(NULL, "Nu har jeg udført et eller andet !", "Info:", MB_OK);
    counter++;
    if(counter > 3)
    {
        running = false;
    }   
}

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    do
    {
        Sleep(1000 * 5); // 5 sek.
        doStuff();
    }while(running);

    MessageBox(NULL, "Så er det slut !", "Info:", MB_OK);
   
    return 0;
}
Avatar billede nameless Nybegynder
05. november 2003 - 19:13 #11
Jeg takker for dit eksempel :) Perfekt
Smid et svar og få dine velfortjente points
Avatar billede soreno Praktikant
05. november 2003 - 19:38 #12
Ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis