Как сделать окно обязательным для пользователя, чтобы ввести некоторую информацию? - PullRequest
1 голос
/ 05 апреля 2011

На моем рабочем месте мне нужно создать анкету, которую пользователь должен заполнить. Цель состоит в том, чтобы сделать его как можно более незаметным для пользователя и связать его с учетной записью Windows. Результаты будут затем сохранены в базе данных, где отчеты могут быть получены из ответов.

Было предложено загрузить вопросник во время входа в систему, т. Е. Когда пользователь входит в систему на компьютере. Мне пришлось бы сделать окно эксклюзивным, чтобы другие окна не могли взаимодействовать.

Мой вопрос, как мне поступить? Может ли это быть сделано с WPF или мне понадобится XNA или что-то подобное?

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

Есть ли способ запустить / активировать приложение при разблокировке экрана?

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

Во-первых, кажется, у вас могут быть противоречивые требования - «не навязчивый» и «обязательный» - для пользователя любое прерывание может считаться нарушением его священного времени:)

Я бы использовал максимизированное окно WPF, которое позволяет прозрачность, не имеет стиля окна, довольно прозрачно, чтобы выглядеть как фон отключен. Область «формы» будет центрирована на экране. Заполненная форма закроет и установит состояние для каждого пользователя в файле settings.config, чтобы в следующий раз, когда пользователь войдет в систему, он больше не появлялся.

Анурадж имеет право попытаться отключить как можно больше взаимодействия посредством подавления специальных нажатий клавиш.

Я бы подавлял нажатия клавиш, помечая KeyEventArgs как обработанные при возникновении события PreviewKeyDown.

Я никогда не делал этого на нескольких мониторах, хотя, не знаю, как это будет выглядеть.

1 голос
/ 05 апреля 2011

Обязательным условием является, как вы говорите, связывание его с учетными записями своего домена и последующее уведомление любого, кто не заполнил анкету в течение определенного периода времени.

Если вы не желаете поддержать вашу«Обязательные» требования к действующим дисциплинарным процедурам, а затем создание технических препятствий - пустая трата времени.При наличии дисциплинарных процедур технические препятствия не нужны для достижения соответствия.

Реальную реализацию, вероятно, лучше всего выполнить на сервере корпоративной интрасети в виде веб-формы.

Это, конечно, требует, чтобы компания была достаточно зрелой, чтобы использовать какой-либо сервер центрального входаkind (контроллер домена, если windows) и имеет корпоративную интрасеть.

Сейчас самое подходящее время для начала.

1 голос
/ 05 апреля 2011

Вы можете создать приложение с WinForms или WPF. Я не знаю о XNA. :) И вы можете загрузить его при запуске; с помощью реестра. Возможно, вам придется вручную отключить ALT + Tab, используя API, чтобы отключить взаимодействие между другими окнами.

...