![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Black_Joker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 9.11.2002 Где: Таганрог Репутация: нет Всего: нет |
Подскажите, как можно запустить несколько процессов последовательно
Мне нужно открыть pdf-файл. Если просмотрщик не установлен, то установить и запустить pdf. Я сделал, но не уверен в корректности.
Это сообщение отредактировал(а) Girder - 2.6.2005, 18:03 |
|||
|
||||
poor_yorik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 12.1.2005 Где: Общаги г. Киева Репутация: нет Всего: 8 |
Не уверен что данная строка будет устанавливать просмотрщик Adobe
shellExecute(Handle, 'open', 'acrobat.exe', nil, nil, SW_Restore);Она просто запустит программу Adobe Acrobat, но если просмотрщик pdf не настроен, то строка shellExecute(Handle, nil, 'prezent.pdf', nil, nil, SW_Showmaximized); пахать не будет. И совсем не понятно для чего предназначена строка while FindExecutable('prezent.pdf', nil, str) < 32 do; Прога же просто зависнет. Надо хотя бЫ вставить while FindExecutable('prezent.pdf', nil, str) < 32 do Application.ProcessMessages; ![]() --------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай... |
|||
|
||||
Black_Joker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 9.11.2002 Где: Таганрог Репутация: нет Всего: нет |
while FindExecutable('prezent.pdf', nil, str) < 32 do; - пауза.
Пока в системе не появится програма ассоциированняа с prezent.pdf |
|||
|
||||
poor_yorik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 12.1.2005 Где: Общаги г. Киева Репутация: нет Всего: 8 |
Black Joker пойми, программа не будет обращаться к системе, пока не выполнит пустой цикл. Я пытался у себя это сделать. Там где не было просмотрщика, но был Acrobat, произошло зацикливание.
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай... |
|||
|
||||
Marriage |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 4.5.2004 Где: Таганрог Репутация: нет Всего: 2 |
Это поможет ??? Это сообщение отредактировал(а) Marriage - 6.6.2005, 16:51 -------------------- Praemonitus, praemunitus |
|||
|
||||
Black_Joker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 9.11.2002 Где: Таганрог Репутация: нет Всего: нет |
мне нужно
1. запустить новый процесс (инсталяху) и запомнить ее идентификатор 2. узнать когда процесс закончен (закончен / прерван) 3. открыть документ (pdf). Как это сделать? ![]() Это сообщение отредактировал(а) Black_Joker - 9.6.2005, 09:52 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
1. CreateProcess() и смотрим PROCESS_INFORMATION
2. WaitForSingleObject() 3. не понял -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Black_Joker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 9.11.2002 Где: Таганрог Репутация: нет Всего: нет |
Пример можно?
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
пример -- ищем по форуму. темы и о запуске приложения и о ожидании его завершения уже не раз поднимались
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Black_Joker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 9.11.2002 Где: Таганрог Репутация: нет Всего: нет |
Бльшое спасибо!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |