Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2007, 09:23   #1
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
Печаль Как запустить программу из сервиса

Суть проблеммы в следующем: сервис ежесекундно проверяет определённое условие и если условие истинно, то он запускает программу. Проблемма в том, что стандартные кончтрукции запускают программу, но её ни видно на панели задач.
Помогите решить проблемму.
Маркъ вне форума Ответить с цитированием
Старый 11.02.2007, 17:00   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Где текст процедуры запуска? Мы ведь не экстрасенсы...
mihali4 вне форума Ответить с цитированием
Старый 11.02.2007, 20:07   #3
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
По умолчанию

Пробовал так:
shellExecute(0,Nil,pChar('c:\window s\system32\notepad.exe'),Nil,Nil,SW _SHOWNORMAL);
И так:
WinExec(pChar('c:\windows\system32\ notepad.exe'), SW_SHOWNORMAL);
В чём может быть проблемма?
Маркъ вне форума Ответить с цитированием
Старый 12.02.2007, 00:59   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

И где здесь сервис? В упор не вижу.
Посмотрите хэлп по shellExecute (файл Win32.hlp в каталоге MS Help дельфей).
Ваш вариант:
shellExecute(0,Nil,pChar('c:\windows\system32\note pad.exe'),Nil,Nil,SW_SHOWNORMAL);
ShellExecute(
HWND hwnd, // handle to parent window у вас почему-то 0, а должен быть хэндл вашей программы
LPCTSTR lpOperation, // pointer to string that specifies operation to perform ну здесь-то должно быть OPEN!!!
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
mihali4 вне форума Ответить с цитированием
Старый 12.02.2007, 23:04   #5
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
По умолчанию

Огромное спасибо. Как ни странно из простого приложения всё работало.
Также спасибо что толком разъяснили функцию ShellExecute.
Так, а в чём была проблемма тут WinExec(pChar('c:\windows\system32\ notepad.exe'), SW_SHOWNORMAL); или так из сервиса запускать нельзя?
P.S. подскажите где можно почитать про написание сервисов, ничего путного не попадалось!

Последний раз редактировалось Маркъ; 12.02.2007 в 23:09.
Маркъ вне форума Ответить с цитированием
Старый 13.02.2007, 00:29   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
а в чём была проблемма тут WinExec(pChar('c:\windows\system32\ notepad.exe'), SW_SHOWNORMAL);
А в том, что первым параметром должен быть не указатель на строку, а сама строка, но не простая, а null-terminated, которая получается из простой использованием функции StrPCopy.
За подробностями милости прошу опять же в Win32.hlp...
Кстати, там вы узнаете, что ShellExecute позволяет организовать ассоциативный запуск, а WinExec - нет.
Цитата:
подскажите где можно почитать про написание сервисов
А чем вам не нравится библиотека, заботливо подобранная Аларом и размещенная на сайте?

Последний раз редактировалось mihali4; 13.02.2007 в 02:32.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить в делфи программу паскаля? orange girl Помощь студентам 10 05.04.2011 08:50
как запустить досовскую программу из своего exe? semantics Общие вопросы Delphi 3 16.04.2008 17:39
Как запустить программу Vadik(R) Паскаль, Turbo Pascal, PascalABC.NET 1 10.03.2008 16:04
Как запустить программу, написанную на С#? Winter Общие вопросы .NET 1 18.11.2007 13:39
Как запустить программу не ехе а Unit -=B@lY=- Общие вопросы Delphi 2 21.02.2007 09:55