Что нового

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,724
Можно. Написать свое GUI.

:smile:
 
Автор
S

Suppir

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

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
В ветке, созданной тобой же, это легко решается с помощью _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,724
По умолчанию - да, а не по умолчанию - нет. Но если ты делаешь универсальную программу, то должен это обязательно учитывать.

:smile:
 
Автор
S

Suppir

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

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

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

Yashied

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

Это как-бы не сюда, а в ту тему.

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

Удалить параметр "EnableBalloonTips" или присвоить ему 1.

P.S

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

Suppir

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

Знаю, что несложно. Просто предпочитаю использовать стандартные функции windows. Хотя нужно попробовать :smile:
 

Yashied

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

Здесь нет стандартных функций, здесь будут одни танцы с бубном... В противном случае, я уже привел бы рабочий пример, а так просто лень...
 
Автор
S

Suppir

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

Yashied

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

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

Suppir

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