Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > службы


Автор: Alexsar 23.2.2007, 23:00
необходимо создать приложение службу, данная служба будет следить за событиями
например, пользователь выделил файл нажал ctrl+c, а затем забыл про это и снова выбирает какой-нибудь файл и нажимает ту же комбинацию клавиш, служба в ответ должна предупредить его об этом и не дать перезаписать буфер, если этого пользователь не хочет

возникают 2 проблемы, как сделать службу и как осуществить мониторинг процессов?

на счёт службы нашёл инфу http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/vbcon/html/vbtskcreatingserviceprogrammatically.asp, думаю и в стандартном MSDN есть и поподробней, а на счёт мониторинга наверное надо копать в сторону Server-based Components for .NET Framework Applications (это в SDK)
может кто-нибудь поделится опытом, в общем направьте на путь истинный smile 

Автор: mr.DUDA 24.2.2007, 14:37
Самый простой способ: проверять содержимое клипбоарда каждую секунду или чаще, и при изменении - сохранять у себя (в службе) текущее содержимое, выдавать предупреждения если непустой клипбоард сменил содержимое. Для этого достаточно возможностей класса Clipboard.

Автор: Alexsar 28.9.2007, 21:27
Вопрос по службам
Требуется создать интерактивную службу, добавил форму и прочее, далее разрешаю взаимодействие с рабочим столом
Только вот в чём проблема, почему то если вызываю
Form1 f = new Form1();
f.Show();
форма "висит", как и в случае вызова данного кода в отдельном потоке, так конструкторе, так и в функции OnStart()
Такое ощущение, что как только функция потока или запуска службы завершает свою работу, она убивает форму.

Application.Run(new Form1()) решает задачу, но хотелось бы понять в чём ошибка и применить вышеприведённый код

Автор: Alexsar 7.10.2007, 19:18
а предыдущий вопрос так и остаётся открытым smile 

Автор: Tror 8.10.2007, 15:51
Вот http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows_Messages/Responding_to_Clipboard_Change_Notifications/Clipboard_Change_Notification_zip_ClipNotifier_ClipboardChangeNotifier_cs.asp лежит класс реализующий нужный тебе функционал

А http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows_Messages/Responding_to_Clipboard_Change_Notifications/article.asp пример использования 

Автор: Alexsar 2.2.2008, 00:00
а не используя Winapi разве нельзя сдеалать то же самое, может надо установить какое-нибудь свойство для службы, чтобы иконка не залипала? smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)