![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет. Хочу перезагрузить exploler.exe
Код:
первая команда убивает его, а вторая запускает, но они срабатывают одновременно. Как сделать чтобы сначала сработала первая, а потом вторая! Через условие, но как проверить строку на выполненность? Спасибо! Жду ответа! |
#2
|
||||
|
||||
![]() Не знаю, где и как сейчас учат программированию, но вообще-то обычный процессор (который стоит в PC) никогда не выполняет инструкции одновременно (тем более функции). Выполняется сначала одна, потом другая. Всегда обе и всегда в том порядке, в каком они написаны. Другое дело, что TaskKill скорее всего не успеет выключить процесс. Решение "в лоб" - добавить между командами Sleep(N); где N - порядка 1000. Решение похитрее - ждать завершения работы TaskKill. А решение третье, ИМХО более адекватное - TerminateProcess. Правда тут надо уже уметь работать с WinAPI.
jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 24.12.2011 в 16:19. |
#3
|
|||
|
|||
![]() Ф-я dwExecAndWait запускает процесс и ждет его завершения (из dwUnits).
Используй вместо WinExec. Код:
|
#4
|
|||
|
|||
![]() Да, пока ещё не учат, я сам пытаюсь разобраться, и не нужно глумиться, все мы чему-то учимся первый раз! Но за критику спасибо!
|
#5
|
||||
|
||||
![]() Я не глумлюсь. Я просто считаю, что прежде чем браться писать программы (ну кроме разве что "Hello, world!"), нужно изучить устройство и принципы работы компьютера, хотя бы примерно. А то программирование может стать вида "Ну вот я написал такую строчку и подключил такой компонент, вот оно должно за меня все сделать", в то время как должно целиком и полностью состоять из осмысленных действий. Я исключительно доброжелателен.
![]() jmp $ ; Happy End! The Cake Is A Lie. |