Russian Qt Forum

Qt => Общие вопросы => Тема начата: Impuls от Ноябрь 02, 2012, 16:26



Название: Создание безоконного приложения
Отправлено: Impuls от Ноябрь 02, 2012, 16:26
Доброго времени суток уважаемые эксперты.
Пишу приложение, отслеживающее пользователей в сети по именам их учетных записей. Серверную и клиентскую части реализовал. Захотелось добавить пару плюшек, одна из которых отправка сообщений пользователям, но при выводе сообщения открывается окно, при закрытии которого приложение завершает работу. Так вот. Как не дать приложению закрыться, но при этом иметь возможность открывать окошко QMessageBox.

И второй вопрос. Возможно ли запретить пользователю завершать процесс, либо запустить приложение как сервис Windows, а определять тукущего залогиненного пользователя? Кросплатформенность не нужна, т.к. на всех компьютерах будет установлена Windows.

Заранее спасибо


Название: Re: Создание безоконного приложения
Отправлено: GreatSnake от Ноябрь 02, 2012, 16:39
Код
C++ (Qt)
QApplication::setQuitOnLastWindowClosed( false );

Посмотри ещё на QSystemTrayIcon.


Название: Re: Создание безоконного приложения
Отправлено: Bepec от Ноябрь 02, 2012, 16:53
Насчёт окна тебе ответили, а насчёт сервиса - поищи QtService. Пусть и устарел, но взяв его код можно спокойно ставить/снимать системные службы.


Название: Re: Создание безоконного приложения
Отправлено: Impuls от Ноябрь 02, 2012, 22:26
Насчёт окна тебе ответили, а насчёт сервиса - поищи QtService. Пусть и устарел, но взяв его код можно спокойно ставить/снимать системные службы.

Да. С окнами разобрался. QtService - круто, но он запускается от имени SYSTEM, а значит и пользователь будет SYSTEM. А нужно как-то определять имя текущего пользователя. Так что увы, но написание сервиса не прокатит. Нужно придумывать что-то другое.


Название: Re: Создание безоконного приложения
Отправлено: lit-uriy от Ноябрь 02, 2012, 22:43
А иконка в трее тебе не подходит?


Название: Re: Создание безоконного приложения
Отправлено: Serr500 от Ноябрь 02, 2012, 22:49
QtService - круто, но он запускается от имени SYSTEM, а значит и пользователь будет SYSTEM. А нужно как-то определять имя текущего пользователя.
Да и пусть работает от SYSTEM. Можно ловить Logon/Logoff пользователя через WM_WTSSESSION_CHANGE (http://msdn.microsoft.com/ru-ru/library/windows/desktop/aa383828%28v=vs.85%29.aspx). Правда, там ещё надо определять имя пользователя по ID сессии.


Название: Re: Создание безоконного приложения
Отправлено: Bepec от Ноябрь 04, 2012, 09:59
Совсем недавно tiny developer реализовывала такую штуку. Поищи в поиске её темы.