как приостановить выполнение кода

Тема в разделе "WASM.WIN32", создана пользователем Diprog, 7 апр 2005.

  1. Diprog

    Diprog New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2005
    Сообщения:
    2
    вызываюю на исполнение коммандный файл, например test.bat,

    функцией WinExec

    ...

    push SW_SHOWNORMAL

    push command_path

    call [WinExec]

    ...

    как приостановить выполнение дальнейшего кода, пока test.bat не отработает и завершиться?



    И еще одно.. нужен кусок кода на FASM'e или функция какую, что бы быстро и без пены вырубить комп, под Win2000 и WinXP
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Diprog

    Воспользовуйся связкой CreateProcess и WaitSingleObject.
     
  3. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia


    Поищи по форуму, тут где-то n0p выкладывал сорс на FASM'е, обзывался power.
     
  4. Diprog

    Diprog New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2005
    Сообщения:
    2
    q_q

    А поподробнее
     
  5. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Diprog

    Есть сорсы которые делают жусткую перезагрузку как будто кто-то нажал reset. Есть также чтобы появился синий экран смерти. Есть простенький vbs скриптик. У меня на сайте лежит прога которая его создает и запускает, она в статье.
     
  6. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    Код (Text):
    1.   STARTUPINFO si;
    2.   PROCESS_INFORMATION pi;
    3.   ZeroMemory(&si,sizeof(si));
    4.   si.cb=sizeof(si);
    5.   if( CreateProcess(NULL, ("n:\\exe\\rar.exe m -m5 -ep " + ArhName + " " + Files).c_str(),
    6.           NULL,NULL,true,CREATE_NO_WINDOW,NULL,NULL,&si,&pi))
    7.    {
    8.      CloseHandle(pi.hThread);
    9.      WaitForSingleObject(pi.hProcess,INFINITE);
    10.      CloseHandle(pi.hProcess);
    11.      return true;
    12.    }
    13.   else
    14.    {
    15.      return false;
    16.    }
    17.  
     
  7. rst

    rst New Member

    Публикаций:
    0
    Регистрация:
    5 май 2003
    Сообщения:
    165
    DiProg -ну или использовать CRT-шный вызов "exec" - он будет синхронно выполнять процесс.