Задержать запуск программы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
David
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 10.03.2004 (Ср) 20:41
Откуда: FRANCE

Задержать запуск программы

Сообщение David » 24.02.2006 (Пт) 15:15

Знаю видел и читал в форуме, но не могу найдти, если можно помогите
В основной программе вызываю другую программу, но нужно, задержать её запуск на N минут. Как?

Ну, что-то в этом роде
Код: Выделить всё
Txt0 = Shell("C:\AAA\BBB.exe",1)

или
Код: Выделить всё
Call ExecCmd("C:\AAA\BBB.exe", Wait - в минутах)


Спасибо за попытку ответить

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.02.2006 (Пт) 15:22

Попытаюсь.
Сначала ждать, а потом запускать без ожидания.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.02.2006 (Пт) 22:56

Назовём программу, которая запускает другую "заказчиком".
А ту, которую запускают "исполнителем".

Так вот, GSerg, что если заказчика завершат раньше чем придёт время запускать исполнителя?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 24.02.2006 (Пт) 23:43

Код "заказчика" просто прекратит выполняться.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.02.2006 (Пт) 23:47

Amed, было бы удивительно, если бы он продолжал выполняться.

Дело в том, что ведь тогда испольнитель так и не запустится.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 24.02.2006 (Пт) 23:51

А это уже претензия к задавшему вопрос - он не оговорил момент :)

Конечно, не запустится.

David
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 10.03.2004 (Ср) 20:41
Откуда: FRANCE

Сообщение David » 25.02.2006 (Сб) 2:14

Amed писал
Код "заказчика" просто прекратит выполняться.


Вообще-то это меня даже устраивает, главное что-бы "исполнителем" запустился даже если "заказчик" прекратит выполняться.

А вообщем спасибо всем за проявленый интерес, надеюсь на ваш опыт

Random
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 21.02.2006 (Вт) 6:08
Откуда: Пермь

Сообщение Random » 25.02.2006 (Сб) 3:28

Может тогда запускать "Исполнитель" через промежуточную программу, состоящию и таймера и Shell?
Заказчик -> Промежуточая Прога -> Исполнитель?
Тогда время жизни заказчика не будет иметь значение.
Думаю ActiveХ EXE вполне подойдет для этих целей....
:)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.02.2006 (Сб) 6:46

Ну в принципе тогда http://msdn.microsoft.com/library/en-us ... frame=true
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

David
Обычный пользователь
Обычный пользователь
 
Сообщения: 81
Зарегистрирован: 10.03.2004 (Ср) 20:41
Откуда: FRANCE

Сообщение David » 26.02.2006 (Вс) 23:17

GSerq писал
Ну в принципе тогда http://msdn.microsoft.com/library/en-us ... frame=true

Я посмотрел ссылку, которую ты предложил в принципе я не очень все понял, да и это нормально, т.к. я вообще-то программист любитель, и иногда пишу программы для улегчения моих объязанностей на работе, поэтому я позволю себе попросить тебя привести пример более подробно точнее объяснить, либо как использовать, передавать и получать переменные я не ПОНЯЛ

что это и с чем его едят
Код: Выделить всё
NET_API_STATUS NetScheduleJobAdd(
    LPCWSTR Servername,
    LPBYTE Buffer,
    LPDWORD Jobld
);


Код: Выделить всё
Public Sub Main()
    где-то я вызываю выполнение другой программы с задержой в 5 минут
End Main


Вообщем в любом случае большое спасибо,

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 27.02.2006 (Пн) 2:18

Да к сожалению, русский MSDN тока по фреймворку, хотя может я ошибаюсь.

А может ничего писать не надо, а взять существующий планировщик?
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.02.2006 (Пн) 5:36

Вообще, там всё очень подробно написано, и не понять можно только при незнании английского, а без знания английского лучше не быть программером...

Код: Выделить всё
Option Explicit

Private Declare Function NetScheduleJobAdd Lib "NETAPI32.dll" (ByVal servernameW As Long, ByRef Buffer As Any, ByRef JobId As Long) As Long

Private Type AT_INFO
  JobTime As Long
  DaysOfMonth As Long
  DaysOfWeek As Byte
  Flags As Byte
  CommandW As String
End Type

Private Sub Form_Load()
  Dim i As AT_INFO
 
  i.DaysOfMonth = 0
  i.DaysOfWeek = 0
  i.JobTime = CLng(CDbl(#1:36:00 PM#) * 86400000)
 
  i.CommandW = StrConv("notepad.exe", vbUnicode)
 
  NetScheduleJobAdd 0, i, 0
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 130

    TopList