любая команда

Тема в разделе "WASM.BEGINNERS", создана пользователем RealNNN, 13 июн 2010.

  1. RealNNN

    RealNNN New Member

    Публикаций:
    0
    Регистрация:
    9 май 2010
    Сообщения:
    14
    Подскажите пожалуйста с помощью какой функции можно выполнить ЛЮБУЮ команду, которую можно прописать на исполнение в командной строке.(желательно с примером)
    пробую ShellExecute - исполняет только открытие файлов (команды rd, Shutdown и т.п. не выпоняются)
    пробою

    startinfo STARTUPINFO <>
    pi PROCESS_INFORMATION <>

    invoke GetStartupInfo,addr startinfo
    invoke CreateProcess, NULL, ADDR buffertake3, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, ADDR startinfo,ADDR pi
    тоже не работает...(в buffertake3 все нормально, т.к. при shellExeute файл исполняется)
     
  2. google

    google New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2007
    Сообщения:
    140
    Код (Text):
    1. format  PE GUI 4.0
    2. include "win32wxp.inc"
    3. include "encoding\win1251.inc"
    4.  
    5. .code
    6. szProgram       TCHAR "shutdown", 0
    7. szParameters    TCHAR "/s /t 60 /c ""ShellExecute в работе.""", 0
    8. start:
    9.         invoke  ShellExecute, NULL, NULL, szProgram, szParameters, NULL, SW_SHOWDEFAULT
    10.         invoke  ExitProcess, 0
    11.  
    12. .end    start
     
  3. RealNNN

    RealNNN New Member

    Публикаций:
    0
    Регистрация:
    9 май 2010
    Сообщения:
    14
    не могли бы пояснить строку

    szParameters TCHAR "/s /t 60 /c ""ShellExecute в работе.""", 0

    просто в buffertake3 неизвестно что хранится, либо путь к файлу, либо какая либо команда...
     
  4. google

    google New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2007
    Сообщения:
    140
    Это параметры командной строки. shutdown требует передачи ей параметров, вот один из вариантов.
     
  5. RealNNN

    RealNNN New Member

    Публикаций:
    0
    Регистрация:
    9 май 2010
    Сообщения:
    14
    Можно пожалуйста подробнее о

    invoke CreateProcess, NULL, ADDR buffertake3, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, ADDR startinfo,ADDR pi

    посдкажите пожалуйста что из себя должна представлять строка buffertake3??? (чтобы и файл выполнять и команду)
    пробую как: cmd.exe rd E:\q.txt - не выполняется
     
  6. google

    google New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2007
    Сообщения:
    140
    RealNNN
    rd это удаление каталога. E:\q.txt это вряд ли каталог, скорее файл. Для удаления файла используется del.
    Попробуйте так "del e:\q.txt", cmd.exe указывать, Естественно, не нужно.