Есть что-то лучше, чем проверить, есть ли у них сенсорный экран, это проверить, используют ли они его, плюс это легче проверить.
if (window.addEventListener) {
var once = false;
window.addEventListener('touchstart', function(){
if (!once) {
once = true;
// Do what you need for touch-screens only
}
});
}
Насколько я знаю, другого пути нет. Вам нужно создать собственную форму окна сообщения с флажком. Конечно, вам также потребуется изменить код для сохранения и извлечения этого параметра (и действий в соответствии с настройкой).
Я делал это в своем собственном приложении много раз. Одна вещь, о которой нужно подумать ... предположим, пользователь установил флажок "больше не показывать мне это". На мой взгляд, должен быть способ сбросить настройки. Поскольку форма окна сообщения больше не будет отображаться, я добавил это в форму конфигурации (для моего приложения).
Одна вещь, которую вы, возможно, захотите рассмотреть, - это подклассы функции MSGBOX. Вы можете создать в своем приложении функцию с аналогичным списком параметров, но с парочкой дополнительных. Если дополнительные параметры отсутствуют, просто вызовите vba.MsgBox (для получения стандартного поведения).
Если вы предоставите такой функционал может потребовать "включения" т.е. у пользователя должна быть возможность снова увидеть окно сообщений, используя некоторые настройки.
Вместо этого вы можете использовать строку состояния для отображения уведомлений ИЛИ иметь ярлык с сообщениями уведомлений и выключить его через несколько секунд.
Ну ... Вы не совсем правы, ребята;)
Начиная с Win2000, есть функция SHMessageBoxCheck , которая помогает. Объявление VB6:
Private Declare Function SHMessageBoxCheck Lib "shlwapi" Alias "#185" (ByVal hWnd As Long, ByVal lpszText As String, ByVal lpszTitle As String, ByVal dwType As VbMsgBoxStyle, ByVal iDefault As Long, ByVal lpszId As String) As Long
Для всего остального перейдите по ссылке:)