Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.07.2011, 16:03
iiiPoizone iiiPoizone вне форума
Прохожий
 
Регистрация: 22.07.2011
Сообщения: 8
Репутация: 10
По умолчанию Приложение и службы

Кто-нибудь знает как один и тот же Exe-файл можно запустить как приложение и как службу (но запуск в качестве службы с каким-нибудь ключом, например).
Расскажите, дайте ссылку, пожалуйста.
Ответить с цитированием
  #2  
Старый 22.07.2011, 17:23
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://www.interface.ru/home.asp?artId=16705
Первая ссылка в гугле.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 24.07.2011, 12:30
iiiPoizone iiiPoizone вне форума
Прохожий
 
Регистрация: 22.07.2011
Сообщения: 8
Репутация: 10
По умолчанию

Эту ссылку я прочитал в первую очередь.
Есть необходимость запускать один и тот же Exe-файл как службу и как приложение.
а если мы выбираем проект Service Application то проект сразу же становится службой
Ответить с цитированием
  #4  
Старый 24.07.2011, 12:42
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://fssr.ru/hz.php?name=News&file=article&sid=8086
В блоке begin - end пиши условие запуска как сервиса и как приложения.
Кстати, вот более толковый пример от _Rouse: http://rouse.drkb.ru/winapi.php (Доступ из сервиса к рабочему столу).

З.Ы. По запросу "delphi сервис api" можно найти более грамотные исходники.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 24.07.2011 в 12:51.
Ответить с цитированием
  #5  
Старый 24.09.2011, 01:01
winston34 winston34 вне форума
Прохожий
 
Регистрация: 19.09.2011
Сообщения: 5
Репутация: 10
Вопрос

Привет форумчанам!. помогите плиз. не могу никак сообразить и подобрать процедуры. мне требуется: найти процесс .т.е. узнать запущен он или нет. Если запущен то убить его и удалить ехе-файл процесса. проблема в том что о этом процессе я знаю (т.е. эти параметры статические) только Название окна принадлежащему этому процессу и Описание ехе-файла(Свойство=>Описание). заранее спс
Ответить с цитированием
  #6  
Старый 24.09.2011, 21:52
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Программно - курим API, ищем соотв. функции. Как пример - FindWindow может найти окно по заголовку. Где-то здесь кажется был пример, как по Handle окна получить Handle процесса. Ну или в гугеле.
Руками - качаем чего-нибудь типа ProcessExplorer и радуемся.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #7  
Старый 25.09.2011, 19:45
winston34 winston34 вне форума
Прохожий
 
Регистрация: 19.09.2011
Сообщения: 5
Репутация: 10
Сообщение

найти процесс по hWND я знаю как. я уже написал часть кода, кстати через функцию FindWindows. в обычном приложении все работает как надо. но стоит только воспользоваться функцией FindWindows в сервисе она возвращает 0. и тут никак не могу эту проблему обойти, столько сайтов облазил, но рабочего решения так и не нашел. я зная что службы и пользователи работают на разных как бы рабочих столах и связи если не ошибаюсь между ними нет.
а мне позарез нужно получить handle чужого окна именно из службы ...
Ответить с цитированием
  #8  
Старый 25.09.2011, 19:57
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Служба не может взаимодействовать с рабочим столом (в XP еще можно было), если только из службы запускать некий экзешник от имени пользователя.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #9  
Старый 26.09.2011, 10:25
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию

Код:
GetWindowThreadProcessId()
Ответить с цитированием
  #10  
Старый 26.09.2011, 11:52
winston34 winston34 вне форума
Прохожий
 
Регистрация: 19.09.2011
Сообщения: 5
Репутация: 10
Сообщение

черт! я хотел использовать эту функцию но для нее нужно знать Handle окна, а так как он динамический его отследить в службе никак, для этого мне и нужно было взаим. с рабочим столом. Придется делать черз дополнительный ехе-шник, но как его скрыть от Диспетчера Задач или хотябы запретить завершение этого ехе-шника?
Ответить с цитированием
  #11  
Старый 26.09.2011, 12:35
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от winston34
черт! я хотел использовать эту функцию но для нее нужно знать Handle окна, а так как он динамический его отследить в службе никак, для этого мне и нужно было взаим. с рабочим столом. Придется делать черз дополнительный ехе-шник, но как его скрыть от Диспетчера Задач или хотябы запретить завершение этого ехе-шника?
Делается в два счета через KernelMode Driver (по крайней мере я так делал).
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #12  
Старый 26.09.2011, 13:20
winston34 winston34 вне форума
Прохожий
 
Регистрация: 19.09.2011
Сообщения: 5
Репутация: 10
Сообщение

а что это KernelMode Driver, можно поподробнее. и если возможно примерчик. плз
Ответить с цитированием
  #13  
Старый 26.09.2011, 13:52
Zorkov Igor Zorkov Igor вне форума
Новичок
 
Регистрация: 28.07.2009
Сообщения: 85
Репутация: 50
По умолчанию

Цитата:
Сообщение от winston34
но как его скрыть от Диспетчера Задач или хотябы запретить завершение этого ехе-шника?

Что за глупые идеи, скрыть от Диспетчера Задач или хотябы запретить завершение этого ехе-шника?

Зачем это?
Ответить с цитированием
  #14  
Старый 26.09.2011, 19:45
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

[OFFTOP]Опять вредонос? Да сколько можно, плодят всякие недовирусы...[/OFFTOP]
Зачем прятать процесс? Пользователь должен знать, что на его компе делается. И иметь контроль над всеми прогами.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #15  
Старый 26.09.2011, 21:15
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Не пора ли Admin-у, банить таких голубчиков? Уж слишком много их расплодилось.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter