![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как запустить bat-файл из службы? [D7, Win2k]
Yevgeny © (2006-11-07 08:38:00)и возможно ли это в принципе?
Из GUI-приложения все выполняется "на ура", при вызове из службы - не работает. Пробовал ShellExecute, CreateProcess - ничего. Запуск с WS_HIDE тоже ничего не дал.
Anatoly Podgoretsky (2006-11-09 19:45:00) [1]> Ketmar (09.11.2006 19:01:25) [25]
Промашка вышла
Ketmar (2006-11-09 19:01:00) [2]>[24] Anatoly Podgoretsky(c) 9-Nov-2006, 18:20
так то автор той ветки, а то я. %-)
Anatoly Podgoretsky (2006-11-09 18:20:00) [3]> Ketmar (09.11.2006 17:44:23) [23]
Ну, ну, напомню недавнею ветку про запуск WinRar. Автор так и не смог решить проблему, а насчет WinExec вроде так и не поверил.
А запускал бы через ShellExecute и проблемы бы не было.
Ketmar (2006-11-09 17:44:00) [4]>[22] Anatoly Podgoretsky(c) 9-Nov-2006, 17:08
>Все таки надо бысть последовательным и твердым.
так то тебе. я WinExec() не ругаю. %-)
Anatoly Podgoretsky (2006-11-09 17:08:00) [5]> Ketmar (09.11.2006 16:28:21) [21]
Все таки надо бысть последовательным и твердым.
Ketmar (2006-11-09 16:28:00) [6]>[20] Anatoly Podgoretsky(c) 9-Nov-2006, 16:27
>Ладно это шутки, а я серьезно и предлагаю задуматься.
в плане обучения -- согласен, лучше понять, как использовать CreateProcess(). а потом спокойно вызывать WinExec(). %-)
Anatoly Podgoretsky (2006-11-09 16:27:00) [7]> Ketmar (09.11.2006 16:16:17) [17]
Ладно это шутки, а я серьезно и предлагаю задуматься.
clickmaker (2006-11-09 16:25:00) [8]
> Имменно так картинки и запускаю.Только добавляю cmd.exe
> /c
> WinExec(pchar ('cmd.exe /c Picture.jpeg'), 0);
Оригинально
user51 (2006-11-09 16:20:00) [9]>Anatoly Podgoretsky
>Точно?
>А как насчет этого WinExec('Picture.jpeg', ...)
>Естественно пример простой.
Имменно так картинки и запускаю.Только добавляю cmd.exe /c
WinExec(pchar ('cmd.exe /c Picture.jpeg'), 0);
Ketmar (2006-11-09 16:16:00) [10]а ещё можно не пользоваться этими шайтанскими обёртками, а создавать всё руками. новое адресное пространство, отмапить туда файл и так далее. но мы ж не об этом. %-)
clickmaker (2006-11-09 16:06:00) [11]а еще NtCreateProcess и даже NtCreateProcessEx
в ntdll.dll
;)
Ketmar (2006-11-09 16:04:00) [12]а ещё есть ShellExecuteEx(). %-)
Anatoly Podgoretsky (2006-11-09 15:49:00) [13]> clickmaker (09.11.2006 15:09:12) [12]
Это, по моему стоит прислушаться и потратить время на изучение CreateProcess и ShellExecute
Будет только лучше
CreateProcess сложно, но ShellExecute совсем просто, разница количественная, а возможности широкие.
Ketmar (2006-11-09 15:18:00) [14]>[11] Anatoly Podgoretsky(c) 9-Nov-2006, 15:00
>Я же как учитель
а-а-а... %-)
clickmaker (2006-11-09 15:09:00) [15]
> [9] Anatoly Podgoretsky © (09.11.06 14:58)
это, что-ли?
Note This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function
Ну так прально, CreateProcess более тонко позволяет настроить параметры запуска. И кой-чего еще.
Ну а если не нужно мне это? Вот хочу просто блокнот запустить. Чего бы мне винэкзеком это не сделать
Все равно, большинство программеров, которые часто юзают подобные функции, пишут что-то типа оберток. Паттерны своеобразные. Так чем это от WinExec отличается?
Anatoly Podgoretsky (2006-11-09 15:00:00) [16]> Ketmar (09.11.2006 14:51:08) [8]
Явно не понимаешь.
Я же как учитель, а ты лень.
Anatoly Podgoretsky (2006-11-09 14:59:00) [17]> user51 (09.11.2006 14:42:07) [7]
> winexec ничуть не хуже пашет чем другие способы.
Точно?
А как насчет этого WinExec('Picture.jpeg', ...)
Естественно пример простой.
Anatoly Podgoretsky (2006-11-09 14:58:00) [18]> clickmaker (09.11.2006 14:41:06) [6]
два ответа
1. справку читал?
2. влом, это не к программистам.
Ketmar (2006-11-09 14:51:00) [19]>[5] Anatoly Podgoretsky(c) 9-Nov-2006, 14:31
>Прошло уже свыше 10 лет, как Window 3.1 прекратил жить, а
>у нас еще его помнят.
вот не понимаю такой ненависти. это для ленивых (для меня, например). быстро и удобно. %-)
user51 (2006-11-09 14:42:00) [20]>Прошло уже свыше 10 лет, как Window 3.1 прекратил жить, а у нас еще его >помнят.
Что делать. Когда то и для него писал, когда появилось это чудо техники. До его появления приходилось на асемблере под досом.
Хотя и winexec ничуть не хуже пашет чем другие способы.