2012-03-20 7 views
1

J'essaie d'exécuter une commande cmd dans ma machine wince7. mon code est: (par exemple)commande cmd dans wince7

STARTUPINFOW siStartupInfo; 
    PROCESS_INFORMATION piProcessInfo; 
    memset(&siStartupInfo, 0, sizeof(siStartupInfo)); 
    memset(&piProcessInfo, 0, sizeof(piProcessInfo)); 
    siStartupInfo.cb = sizeof(siStartupInfo); 


    TCHAR regsvrActiveXConsole[256] = L"cd"; 
    if (CreateProcess(L"\\Windows\\cmd.exe", regsvrActiveXConsole ,0,0,false,NULL,0,0,&siStartupInfo, &piProcessInfo)) 
    { 

    } 
    else 
    { 

    } 

et je reçois: non reconnue "cd".

Quelque chose me manque? Ai-je besoin d'ajouter quelque chose à l'image pour lancer les commandes cmd?

+1

Quel est votre objectif global ici? Si c'est pour changer le répertoire courant, non seulement cela * ne * fonctionnera pas (car cela changerait le répertoire courant d'un processus séparé), mais vous pouvez simplement appeler 'SetCurrentDirectory()'. Quoi qu'il en soit, essayez de taper 'cmd cd' depuis une invite de commande et voyez ce qui se passe. –

Répondre

4

cmd a certaines règles d'utilisation, il n'exécute pas simplement ce que vous passez dans les arguments, tapez cmd /? dans l'invite de commande pour plus d'informations. Pour lui faire exécuter une commande, vous avez besoin de l'option /C. L'invocation valide serait:

cmd /C cd 

à savoir

TCHAR regsvrActiveXConsole[256] = L"/C cd";