Я имел в виду использовать не глобальную переменную (хотя так тоже можно), а непосредственно передавать данные через аргументы.
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