Я имел в виду использовать не глобальную переменную (хотя так тоже можно), а непосредственно передавать данные через аргументы.
Procedure Hotkey_WaitWindowEvent()
message = WaitWindowEvent()
result = message
If HotKeysInitDone
If message = #WM_HOTKEY
wparam = EventwParam()
;SELECTOR=wparam
If hotkeys(wparam)\name > ""
CallFunctionFast(hotkeys(wparam)\func, wparam)
result = Hotkey_WaitWindowEvent()
EndIf
EndIf
EndIf;initdone
ProcedureReturn result
EndProcedure
Procedure KLAVNYA(SELECTOR1)
EnumProcessInit()
Repeat
Temp.s=EnumProcess()
If LCase(Temp)=GetFilePart(PUT(SELECTOR1))
vpered=1
EndIf
Until Temp=""
If vpered<>1
RunProgram(PUT(SELECTOR1))
EndIf
EndProcedure
