Что нового

TrayTip - как сделать, чтобы windows не гасил подсказку через 10 секунд?

Suppir

Продвинутый
Сообщения
967
Репутация
62
Добрый день!


Два вопроса по TrayTip:

1) пишу код:

Код:
TrayTip("Программа", "Обработка запущена", 0)
myfunc()
TrayTip("", "", 0)


По-идее, подсказка должна отображаться ровно столько времени, пока работает функция myfunc(), а потом исчезнуть. Однако подсказка сама по себе плавно исчезает через
10 секунд (windows 7). Можно ли сделать так, чтобы подсказка отображалась столько времени сколько работает myfunc() ?




2) когда всплывает подсказка, у нее есть две маленькие иконки в верхнем правом углу ("настройки" и "Закрыть"). Можно ли сделать такую вещь:

После включения подсказки включается функция myfunc(). Если пользователь нажмет на иконку закрытия трейтипа, то нужно прервать myfunc().
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Можно. Написать свое GUI.

:smile:
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied
это gui будет трудновато поместить в то место, откуда должна появляться подсказка (т.е. из иконки скрипта в трее).
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
В ветке, созданной тобой же, это легко решается с помощью _SysTray.au3. Или можно просто разместить окно в правом нижнем углу, как это делают большинство приложений.

А TrayTip() зависит от настроек в реестре. У меня оно вообще отключено:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

EnableBalloonTips = 0
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied

кажется, подсказки отображаются по-умолчанию в любом windows, начиная с 2000.


Добавлено:
Сообщение автоматически объединено:

Yashied [?]
В ветке, созданной тобой же, это легко решается с помощью _SysTray.au3
эх, я не отследил ту ветку до конца :(


p.s. у меня не работает этот _sysTray в windows 7.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
По умолчанию - да, а не по умолчанию - нет. Но если ты делаешь универсальную программу, то должен это обязательно учитывать.

:smile:
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied

Что-то я не пойму, как узнать, отключены ли трейтипы, и как включить их?

Код:
$tips = RegRead ("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "EnableBalloonTips")
ConsoleWrite($tips)
- не работает
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Suppir сказал(а):
...как узнать, отключены ли трейтипы, и как включить их?
Если параметра "EnableBalloonTips" не существует в вышеприведенном разделе или существует, и его значение равно 1, то подсказки будут отображаться в трее. Если 0 - нет.

Код:
Func _IsBalloonTips()

	Local $Val = RegRead('HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', 'EnableBalloonTips')

	If (@error) Or ($Val) Then
		Return 1
	Else
		Return 0
	EndIf
EndFunc   ;==>_IsBalloonTips
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied [?]
Использую. При перетаскивании файла на иконку появляется плюсик, но, когда я отпускаю файл, ничего не происходит.


Добавлено:
Сообщение автоматически объединено:

Yashied [?]
Если параметра "EnableBalloonTips" не существует в вышеприведенном разделе или существует, и его значение равно 1, то подсказки будут отображаться в трее. Если 0 - нет.

Спасибо! А как включить подсказки в реестре, если они были отключены?
(извините за настырность).
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Suppir сказал(а):
При перетаскивании файла на иконку появляется плюсик, но, когда я отпускаю файл, ничего не происходит.
Это как-бы не сюда, а в ту тему.

Suppir сказал(а):
А как включить подсказки в реестре, если они были отключены?
Удалить параметр "EnableBalloonTips" или присвоить ему 1.

P.S

Я тебе советую не заморачиваться с этим. Напиши собственное GUI-BalloonTip с красивой кнопкой и эффектом всплытия или постепенного появления. Это совсем несложно...
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Yashied [?]
тебе советую не заморачиваться с этим. Напиши собственное GUI-BalloonTip с красивой кнопкой и эффектом всплытия или постепенного появления. Это совсем несложно...
Знаю, что несложно. Просто предпочитаю использовать стандартные функции windows. Хотя нужно попробовать :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Suppir сказал(а):
Просто предпочитаю использовать стандартные функции windows.
Здесь нет стандартных функций, здесь будут одни танцы с бубном... В противном случае, я уже привел бы рабочий пример, а так просто лень...
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
OffTopic:
Моя программа уже преодолела рубеж в 50 Кб (1500 строк). Скоро нужно будет разносить по разным модулям :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
OffTopic:
:smile:

WinAPEx преодолел рубеж в 1 МБ и пока нормально себя чувствует.
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
OffTopic:
так у меня в скрипте 100% самописные функции, причем самые разнообразные. Хотя мегабайт кода - это серьезно! У меня всего 450 кб написано за всю жизнь :smile:
 
Верх