Avatar billede baitianlong Nybegynder
13. april 2004 - 11:07 Der er 4 kommentarer og
2 løsninger

kalde "fra" bat fil med c++

Hej. Hvordan starter jeg en fil fra c++, ligesom man gør det fra en bat fil ?

eksempel fra bat fil:

start C:\COSserver\java\bin\rmiregistry
C:\COSserver\java\bin\javaw -Djava.rmi.server.codebase=file:c:/COSserver/controller/ controller.CodexServer

Det vil jeg gerne gøre med et c++ program. Fordi hvis jeg gør det med bat filer, bliver dos vinduerne hængende, og det er irriterende
Avatar billede medions Nybegynder
13. april 2004 - 11:11 #1
Følgende kompilerer i M$VC++, konsol applikation:

#include <windows.h>
#include <iostream.h>
#include <conio.h>

void RunProgram(char* pszAppName, char* pszParams)
{
    ShellExecute(NULL,
                "open",
                pszAppName,
                pszParams,
                NULL,
                SW_SHOW);
}

int main()
{
    cout << "Press any key to launch notepad..." << endl;
    getch();
    RunProgram("notepad.exe", NULL);
    cout << "Press any key to terminate..." << endl;
    getch();
    return 0;
}

//>Rune
Avatar billede arne_v Ekspert
13. april 2004 - 11:14 #2
Eller gode gamle:

system("program arg1 arg2");
Avatar billede baitianlong Nybegynder
13. april 2004 - 11:33 #3
hvordan bruger jeg gode gamle system() i dette tilfælde. Du kender problematikken fra mit andet spørgsmål, hvor du også er aktiv, arne :)
Avatar billede baitianlong Nybegynder
13. april 2004 - 11:42 #4
Jeg har prøvet med:

#include <windows.h>
#include <iostream.h>
#include <conio.h>


int main()
{
    system("C://COSserver/java/bin/rmiregistry.exe");
    system("C://COSserver/java/bin/javaw -Djava.rmi.server.codebase=file:c:/COSserver/controller/ controller.CodexServer");
    cout << "Det var det";
    return 0;
}


Men der sker intet. Den skriver heller ikke "det var det" ?!
Avatar billede arne_v Ekspert
13. april 2004 - 11:50 #5
Jeg tror at du skal bruge \\ ikke //
Avatar billede baitianlong Nybegynder
13. april 2004 - 12:08 #6
Jeg har prøvet med både / // \ og \\, men der var ikke rigtig noget der virkede. Til gengæld fandt jeg en der allerede havde lavet programmet for mig på internettet. Det hed ShowConsole, og med det kan jeg hide consollen inden jge kører kommandoerne, sådan her:

cd c:\COSserver\
C:\COSserver\ShowConsole HIDE
C:\COSserver\java\bin\rmiregistry.exe
C:\COSserver\java\bin\javaw -Djava.rmi.server.codebase=file:c:/COSserver/controller/ controller.CodexServer

Så det var jo smukt.... Tak for hjælpen alligevel :)
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