Evolcom.ru

Бытовая техника
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как предотвратить закрытие Outlook при сворачивании / закрытии?

Как я могу запретить пользователю закрывать мое приложение C#?

Как сделать незакрытое приложение в C#? В идеале я хотел бы отключить кнопку ‘X’ на форме, а также запретить диспетчеру задач Windows закрывать ее.

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

4 ответа

  • Как предотвратить закрытие пользователем формы Winform на C#?

Я знаю, что это очень простой вопрос, но я ищу аккуратное и чистое предложение. Мое приложение — это MDI приложение. Создана основная форма, которая используется во всем приложении. Пару форм мы не хотим, чтобы пользователи закрывали, поэтому, чтобы предотвратить человеческую ошибку, мы этого не делаем.

Как запретить пользователю закрывать браузер / менять url во время загрузки файла? Созданное мной веб-приложение загружает огромный файл (1-2 ГБ) и работает отлично. только если пользователь закрывает браузер, он просто умирает. Как я могу.

Диспетчер задач не позволит вам остановить закрытие приложения. В диспетчере задач можно принудительно завершить процесс, который не отвечает. Он не требует разрешения от приложения, а также не спрашивает вежливо. Более подробную информацию о диспетчере задач и различных способах закрытия приложения вы найдете в этом ответе.

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

Читайте так же:
Как подсчитать электронные письма по категориям в Outlook?

Рекомендуется пересмотреть дизайн вашего приложения. Вам следует создать службу Windows, если вам нужно что-то, что постоянно работает в фоновом режиме. Проблема в том, что у служб нет пользовательского интерфейса, а вашему приложению, похоже, он нужен. Поэтому еще лучше писать свой код защитно: сохраняйте состояние приложения, чтобы его можно было закрыть и восстановить по желанию. Вам все равно придется иметь дело со случаем, когда компьютер выключается, так неужели так трудно справиться с закрытием только вашего приложения?

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

Что касается отключения закрытия окна формы, иконка закрытия в системном/оконном меню и нажатие Alt + F4 относительно просты. Вам нужно переопределить свойство CreateParams вашей формы и установить стиль класса окна CS_NOCLOSE:

Скомпилируйте и запустите. Вы получите форму, которая выглядит следующим образом (обратите внимание на отключенную кнопку закрытия в строке заголовка и отсутствие пункта меню «Закрыть» в системном/оконном меню):

Form with CS_NOCLOSE style

Обратите внимание, что в этом случае вы должны предоставить альтернативный механизм в интерфейсе вашего приложения для закрытия формы. Например, в «главной» форме, из которой возник этот диалог.

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

Как я могу предотвратить использование пользователем панели уведомлений, когда он использует мое приложение как более длинное приложение в ANDROID? Пользователь не должен использовать панель уведомлений для включения wifi или включения bluetooth и т.д.

Использование vbscript в HTA Цель: предотвратить закрытие HTA пользователем (кроме как с помощью моей пользовательской кнопки или с помощью диспетчера задач windows) Как я понял из различных веб-страниц, вы не можете предотвратить закрытие HTA нажатием кнопки закрытия в системном меню HTA. Поэтому.

Читайте так же:
Как предотвратить напоминание Outlook слишком рано или слишком поздно?

Если вам действительно нужно, создайте услугу.

Это не ответ на вопрос, но я считаю важным отметить, что не всегда неприемлемо создавать приложение, для выполнения которого пользователю приходится прикладывать много усилий. Хранение внутреннего частного приложения, работающего на принадлежащих компании и управляемых сотрудниками машинах в рамках их должностных обязанностей, было бы вполне законным. Вопрос @TvmMurthy, похоже, касается именно этой ситуации.

В моей собственной работе MS Outlook — это одно из приложений, которое работает на моей рабочей станции, и я оставляю его запущенным на весь день и на несколько дней, пока не перезагружу машину. Я также написал Windows-приложения для форм, которые информируют меня о состоянии процессов, за мониторинг которых я отвечаю на некоторых наших серверах. Я написал эти приложения так, чтобы они работали постоянно и появлялись только при обнаружении чего-то, о чем мне нужно знать (они сворачиваются на панель инструментов, чтобы не мешать). Я использую SharpReader для отслеживания своих RSS-каналов, и, естественно, он рассчитан на постоянную работу. Он сворачивается в панель инструментов, даже если вы нажмете на красный крестик, и может быть прерван только контекстным меню панели инструментов или диспетчером задач, что вполне разумно, даже ожидаемо, учитывая его функцию.

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

Читайте так же:
Как переместить файл данных Outlook (файлы PST) или электронные письма на новый компьютер?

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

Защитить процесс от уничтожения обычными пользователями не очень сложно. Приложение может изменять свой собственный процесс ACL, не позволяя ЛЮБОМУ диспетчеру задач убить его. Они просто получат сообщение «Доступ запрещен!», когда попытаются убить процесс.

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

Я могу дать вам код, если он еще нужен.

Похожие вопросы:

Я попробовал этот ответ, опубликованный для Visual Studio 2013. Как предотвратить закрытие Visual Studio 2013 приложения IIS Express после устранения неполадок? В Visual Studio 2015 это так.

В моем приложении для android клиенту будут предоставлены два планшета для игры. Есть ли у меня возможность запретить пользователям сворачивать или закрывать приложение? Как я могу это сделать?

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

Я знаю, что это очень простой вопрос, но я ищу аккуратное и управляемое предложение. Мое приложение является MDI-приложением. Он создал базовую форму, которая используется во всем приложении. Существует несколько форм.

Как запретить пользователям закрывать браузер или менять url во время загрузки? Я сделал веб-приложение для загрузки файлов, которое загружает большой файл (1-2 ГБ), и оно работает.

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

Читайте так же:
Как переименовать RSS-каналы и их папки в Outlook?

Использование vbscript в HTA Цель: предотвратить закрытие HTA пользователем (кроме как с помощью моей пользовательской кнопки или с помощью windows taskmanager) Как я понял из различных

Как предотвратить закрытие/выход пользователя из браузера с помощью javascript/jquery… Если пользователь открывает мой сайт, он не может закрыть его, свернуть или перейти на другую страницу.

В моем приложении я хочу предотвратить возврат пользователя к действию входа в систему после входа, но не хочу закрывать приложение. Например, если предыдущее действие — это действие входа в систему.

Outlook 2016/2013 постоянно запускается в автономном режиме

date27.10.2021
useritpro
directoryExchange, Outlook, Вопросы и ответы
commentsкомментариев 7

Пользователь пожаловался, что Outlook всегда запускается в автономном режиме при запуске системы. Разумеется, никакие письма не отправляются и не принимаются, а на значке Outlook в трее отображается красный крестик с надписью «Microsoft Outlook находится в автономном режиме».

Приложение Microsoft Outlook находится в автономном режиме

Пользователь должен каждый раз отключать автономный режим в Outlook в разделе Отправить и получить -> Автономно. При следующем запуске Outlook снова переключается в автономный режим. Его нужно снова отключить в настройках. Постоянное переключение между автономным и онлайн-режимом может сильно раздражать пользователей.

outlook Автономная работа

Проблема возникает только у некоторых пользователей Outlook 2016 и 2013. Почтовые ящики пользователей находятся на сервере Exchange, и в журналах Exchange нет проблем с доступностью или ошибок.

Outlook может автоматически отключаться при неудачном подключении к сети/серверу Exchange (после 10 неудачных попыток подключения к серверу). Итак, прежде всего, мы проверили сеть (коммутаторы, маршрутизаторы, правила брандмауэра): везде все работало нормально.

Наш процесс диагностики также включал следующее:

  1. Доступность почтового ящика через веб-интерфейс OWA: почтовый ящик доступен
  2. В Exchange 2010 проверьте доступность сервера CAS от пользователя на порту TCP/135 (локатор RPC). Это можно сделать с помощью команды Test-NetConnection: tnc msg-cas -port 135 — порт доступен. В Exchange 2013/2016 основным протоколом, соединяющим клиентов Outlook с CAS, является HTTPS (MAPI over HTTP), поэтому просто проверьте, что порт 443 доступен.
  3. Я запустил Outlook в безопасном режиме (команда outlook.exe /safe) и отключил все дополнения: проблема все еще возникает;
  4. Я попытался удалить профиль Outlook и создать его заново. Переустановка и восстановление Outlook не помогли.
Читайте так же:
Как переименовать список рассылки в Outlook?

Решение проблемы оказалось неожиданным: у всех пользователей, у которых Outlook был отключен, был установлен Skype for Business (Lync) для обмена мгновенными сообщениями. Оказалось, что если на компьютере одновременно запущены Lync и Outlook, то при изменении параметров Offline они не сохраняются при закрытии Outlook (Lync каким-то образом блокирует сохранение параметров Offline, видимо, потому что он также поддерживает постоянное соединение с Exchange).

Поэтому, чтобы отключить автономную работу Outlook, просто закройте Lync / Skype4B (убедитесь, что в диспетчере задач больше нет процессов) и отключите автономное соединение в Outlook. Затем можно активировать Lync.

При следующем запуске Outlook будет работать в обычном режиме.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector