I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Lige umiddelbart, så vil jeg mene, at du skal angive '\\' i din streng. Registry->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\yourapp.Exe", false);
Jeg forstår ikke hvordan du kan have både en variabel der hedder system og dernæst kalde en funktion der også hedder system() - det tillader min compiler ikke.
system() er et kald til 'command.com', så den "kommando" du giver system, skal være en man kan skrive fra et DOS-prompt. Jeg har selv oplevet "uforklarlige" problemer med at få system() til at fungere, og bruger derfor altid spawnl() i stedet:
spawnl(P_WAIT, system.c_str(), system.c_str(), /* hvis ingen parametre*/ NULL);
Jeg ville også debugge mit program lige inden kaldet, for at checke hvad der rent faktisk står i system. (Eller lave en printf("Kalder: \'%s\'\n", system.c_str()); lige inden spawnl kaldet.)
Hvis det er programmet egen path du mangler, kan du læse den i programmets 1. parameter og vha. fnsplit() trække path ud:
int main(int argc, char* argv[]) { char myPath[MAXPATH]; char cmd[MAXPATH]; fnsplit(argv[0], /* Drive not needed */ NULL, myPath, /* File not needed */ NULL, /* Extention not needed. */ NULL); sprintf("%s%s", myPath, argv[1] /* Navn på faktisk program der skal kaldes. */);
Hvis man nu skifter navn på variabel til f.eks. mysqlrun så virker det, Så du havde rigtigt i det med variabel...
Mange tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.