Salve,
spiego brevemente ciò che vorrei fare. Io vorrei lanciare un file batch e due
applicazioni windows (una alla
volta e senza essere in esecuzione contemporaneamente) mentre è in esecuzione un
codice C++, realizzato con Microsoft Visual C++ versione 1.0 (dico bene: versione 1.0), in modalità "QuickWin Application" (o Win32 Console Application). In pratica mentre è in esecuzione il programma principale, a un certo punto, si deve avviare la prima applicazione (il file batch) quindi, effettuate delle operazioni con essa, la si chiude (la chiusura la posso fare io manualmente) e il programma principale prosegue da dove si era interrotto. Ad un'altro punto il programma principale s'interrompe di nuovo e lancia la seconda applicazione e il discorso si ripete. Ho provato le istruzioni
system(), spawn() ed exec() inserendo le include
<stdlib.h>
<stdio.h>
<process.h>
e in tutti e tre i casi la compilazione mi da i
seguenti 2 errori:
" 'system' : undeclared identifier "
" term does not evaluate to a function "
(naturalmente la prima riga è relativa al caso della funzione system ma è
analoga negli altri casi). Gli errori precedenti a cosa sono dovuti? Queste ultime tre
istruzioni sono compatibili con la modalità "QuickWin Application"? Se si quale delle tre
fa al mio caso? Inoltre quale potrebbe essere un esempio di codice che lancia prima un file batch
situato ad esempio in "C:\Documenti" e poi un'applicazione windows situata nella stessa directory?
Chiedendo un pò in giro, mi hanno suggerito l'istruzione ShellExecute( ). Quest'ultima però funziona solo in modalità "Windows Application". In tale modalità ho eseguito il codice
------------------------
#include <windows.h>
#include <shellapi.h>
int main( )
{
ShellExecute(NULL, NULL, "C:\\Programmi\\Accessori\\Wordpad.exe", NULL, NULL, SW_SHOWNORMAL);
return 0;
}
--------------------------
e il Wordpad di windows mi viene lanciato a meraviglia. Lo stesso codice non funziona in modalità "QuickWin Application", in particolare la compilazione va a buon fine mentre il link mi da l'errore seguente:
" 'SHELLEXECUTE' : unresolved external "
Io ho la necessità di lavorare in modalità "QuickWin Application".
Chiedo un gentile parere. Grazie