- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
Добрый день.
я пытаюсь сделать иконку в трее, чтоб вне зависимости видно окно программы или нет, программу можно было остановить. В моём коде не одно окно(( я так понимаю AddSysTrayIcon привязывается к окну. я попытался запустить цыкл контроля нажатия на иконку в отдельном потоке, компилятор матерится(( подскажите что не так делаю плиз? (в моём коде не один цыкл, при нажатие на определённые кнопки, открываются другие окна, и я не понял как сделать чтоб иконка в трее была постоянно((( может я вапше не правильно понимаю логику?)
Код:
Procedure.s GetSysDirectory() ; Путь к системной папке
Path.s=Space(500)
GetSystemDirectory_(@Path,500)
ProcedureReturn Path
EndProcedure
Procedure.s Tray()
CreatePopupMenu(0) ; Контекстное меню для трея
MenuItem(0,"Выход")
OpenWindow(0,0,0,200,100,"",#PB_Window_Invisible)
AddSysTrayIcon(1,WindowID(0),ExtractIcon_(0,GetSysDirectory()+"\shell32.dll",4))
AddWindowTimer(0,2,100)
Repeat
Event=WaitWindowEvent()
If Event=#PB_Event_SysTray
If EventType()=#PB_EventType_RightClick
DisplayPopupMenu(0,WindowID(0))
EndIf
ElseIf Event=#PB_Event_Menu
If EventMenu()=0
End
EndIf
EndIf
Until Event=#PB_Event_CloseWindow
EndProcedure
CreateThread(@Tray(), 0)
;Tray()
;Дальше код ...
Да не покажутся мои слова обидны богу, но как же портит парадигму этот ваш вайсик! (
p/s/ еще каких то 6 лет назад я бы сам себе язык вырвал за эти слова.
Stertor 06.12.2013 22:00 # −3
Возможно, я бы не стал постить это, но репа у сего товарища - док.
А подать сюда доктора, к ответу доктора.
http://purebasic.info/phpBB3ex/viewtopic.php?f=1&t=3595
cmepmop 08.03.2019 13:19 # 0