Avatar billede kak Nybegynder
13. november 2000 - 21:53 Der er 7 kommentarer og
1 løsning

Sikkert en simpel fejl....

Jeg har tidligere fået lidt hjælp her, men mit problem er ikke helt løst.

Jeg bruger Visual C++ og har oprettet et \"Win32 Application Project\". Jeg har så oprettet en .cpp fil der indeholder følgende:

#include <process.h>
#include <Windows.h>
void main(void)
{
do{
  execl(\"c:\\\\windows\\\\explorer.exe\", NULL);
  Sleep(30*1000);
}while (true);
}

Det kompilerer uden fejl, men når jeg kører det, får jeg en msgbox der siger noget med \"Debug assertion failed. File: execl.c. Expression: arglist != NULL\".

Det eneste jeg vil, er at køre et andet 32bit program, vente 30 sekunder, køre det igen, osv.
Avatar billede rm Nybegynder
13. november 2000 - 22:16 #1
dette har virker for mig:
#include <process.h>
#include <Windows.h>

int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
)
{
for(;;) 
{
  execlp(\"explorer.exe\",\"c:\\\\\", NULL);
  Sleep(30*1000);
}
return 0;
}
Avatar billede lbs Nybegynder
13. november 2000 - 22:23 #2
hmm
prøv at kalde din start på programmet
void main() istedet

og du skal vel egentlig bruge kommandoen ShellExecute, jeg kiggede lige i msdn, der er ingen execl kommando..
den hedder _execl ?
Avatar billede rm Nybegynder
13. november 2000 - 22:28 #3
nej han skal bruge
int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
)


nej den hedder execl(det er den samme funtion) men der er beder at bruge execlp da den kikker i PATH\'en
Avatar billede rm Nybegynder
13. november 2000 - 22:32 #4
execlp(\"explorer.exe\",\"c:\\\\\", NULL);
køre programmet explorer.exe fra et sted i din PATH variabel med argumendet c:\\
Avatar billede kak Nybegynder
13. november 2000 - 22:35 #5
Hej rm.

Selv om jeg kopierer din kode direkte, får jeg fejlen:
\"LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main\"
Når jeg kompilerer?!

Avatar billede rm Nybegynder
13. november 2000 - 22:38 #6
ok jeg fik en tilsvarne fejl da jeg kopierde din kode det du gør er at gå tilbage til int main(void) istedet for WinMain
Avatar billede kak Nybegynder
13. november 2000 - 22:38 #7
Hmmmm, glem min sidste kommentar. Jeg startede et helt nyt projekt, og så virkede det. Tak for hjælpen.
Avatar billede rm Nybegynder
13. november 2000 - 22:39 #8
ok det var så lidt (MSDN er en god hjælp)
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