Nano Hash - криптовалюты, майнинг, программирование

Активировать бессрочное уведомление в Windows 10

Я пытаюсь вызвать уведомление, срок действия которого не истекает, но его необходимо закрыть, нажав кнопку X в правом верхнем углу. Это возможно?

введите здесь описание изображения

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

[reflection.assembly]::loadwithpartialname("System.Windows.Forms")
[reflection.assembly]::loadwithpartialname("System.Drawing")
$notify = new-object system.windows.forms.notifyicon
$notify.icon = [System.Drawing.SystemIcons]::Information
$notify.visible = $true
$notify.showballoontip(10,"New Chat!","You have received New Chat!",[system.windows.forms.tooltipicon]::None) 

  • Вы имеете в виду всплывающее сообщение, которое не имеет кнопок для закрытия и может быть закрыто только с помощью X? Если это так, я считаю, что вам придется создать пользовательскую форму, поскольку методы всплывающих окон по умолчанию, такие как docs.microsoft.com/en-us/previous-versions/windows/ иметь как минимум кнопку OK. 30.04.2021
  • Эй, @SantiagoSquarzon, не так, как ты описываешь. Стандартное всплывающее уведомление. Единственное, что ему нужно, чтобы быть уникальным, это не истекать сам по себе и не закрываться сам по себе. Его нужно закрыть, нажав обычную кнопку закрытия. 30.04.2021
  • Разве вы не можете установить асинхронный таймер для регулярного повторного отображения кончика шарика, пока не получите событие BalloonTipClosed? 02.05.2021

Ответы:


1

Согласно Microsoft NotifyIcon. ShowBalloonTip Method, фактическое свойство тайм-аута задается текущими настройками системы.

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

Согласно еще паре запросов в Google, вы можете установить время для своего профиля через реестр ( Regedit - HKEY_CURRENT_USER\Control Panel\Accessibility: MessageDuration - у меня не работает).

С помощью групповой политики или использования SystemParametersInfo API, который не в моей компетенции, чтобы объяснить что-либо еще. Единственная ссылка, которую я могу найти, это настройка Доступность/системный параметр: SPI_SETMESSAGEDURATION . Это C++, и единственная другая статья, которую я смог найти, была эта: функция SystemParametersInfoA.

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

03.05.2021
  • Эй, @Abraham Zinala, спасибо, что уделили мне время. Я зашел так далеко с тайм-аутом системы, установленным на 30 секунд. Однако настоящие уведомления сохраняются, несмотря на то, что вы щелкнули в другом месте. Тестовые, запускаемые приведенным выше сценарием, закрываются при любом щелчке мыши в любом месте. Так что даже с установленными 30 секундами я не могу работать с уведомлениями, которые исчезают. 03.05.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..