2016-07-13 9 views
0

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

Программно необходимо закрыть окно предупреждения.

+0

Возможный дубликат [Программно закрыть предупреждение() в Javascript] (http://stackoverflow.com/questions/23485086/programmatically-close-alert-in-javascript) –

ответ

2

Я предполагаю, что это Windows, потому что в противном случае ответ Майка полностью прав. Единственная форма, которую я могу придумать, заключается в том, что она истекает с течением времени.

Я немного испортил и нашел это. Просто протестирован, и он работает. 2000 - это время в миллисекундах, которое вы хотите, чтобы сообщение подождало до истечения срока его действия. Беспорядок с параметром «3», чтобы увидеть другие варианты кнопок (до сих пор я нашел от 0 до 6 работ). Надеюсь это поможет.

PROCEDURE MessageBoxTimeoutA EXTERNAL "user32.dll": 
    DEFINE INPUT PARAMETER hwnd   AS LONG  NO-UNDO. 
    DEFINE INPUT PARAMETER lpText   AS CHARACTER NO-UNDO. 
    DEFINE INPUT PARAMETER lpCaption  AS CHARACTER NO-UNDO. 
    DEFINE INPUT PARAMETER uType   AS LONG  NO-UNDO. 
    DEFINE INPUT PARAMETER wLanguageID  AS LONG  NO-UNDO. 
    DEFINE INPUT PARAMETER lngMilliseconds AS LONG  NO-UNDO. 
    DEFINE RETURN PARAMETER ans    AS LONG  NO-UNDO. 
END PROCEDURE. 
DEFINE VARIABLE i AS INTEGER  NO-UNDO. 
RUN messageBoxTimeoutA (0, "Test","test2", 3 , 0, 2000, OUTPUT i). 

DISPLAY i. 

В моем примере есть кнопки yes-no-cancel. Значение i будет 6 для да, 7 для нет, 2 для отмены и 32000, если тайм-аут.

2

Вы не можете. Вам придется реализовать свой собственный диалог с помощью таймера. Диалог вашей сборки должен соответствовать вашему интерфейсу: ABL GUI, GUI для .NET или TTY