| **Navigation:**  [[introduction.htm|Language Reference]] > [[chapter runtime properties.htm|App C - PROP: Runtime Properties]] > Complete Property List >====== PROP:SystemPropHook ====== | [[prop stophook.htm|{{btn_prev_n.gif|Previous page}}]][[chapter runtime properties.htm|{{btn_home_n.gif|Return to chapter overview}}]][[prop tabbarcolor.htm|{{btn_next_n.gif|Next page}}]] | | || A property of the SYSTEM built-in variable that allows you to trap when SYSTEM{property} is being called. Equivalent to {PROP:LibHook,12}. You need to pass the address of a procedure which has a prototype of PROCEDURE(SIGNED //Property//, BYTE //DoingSet//, BYTE *//Done//, STRING //Value//), STRING //Property// is the equated value between the property brackets {}. //DoingSet// is set to TRUE (1) if **SYSTEM{property} = 'value'** is being called, or FALSE (0) if **'value = SYSTEM{property}'** is being called. //Done// is set to TRUE if you do not want the system to process the property. //Value// is set to what the property is being set to. This is only set when //DoingSet// is TRUE. The procedure must return a string. This string is only used when //DoingSet// is FALSE and //Done// is set to TRUE. In this case it is what //value// gets set to in the line **'value = SYSTEM{property}'**.