Good point. I read it. But this is IMHO a good workaround to catch special keys.
About Get: I think it could be stored in the Return Value, but it should be recognisable. p.e. change the type that is outputted to an Array.
Store in place 0 the Value
Store in place 1 the KeyCode
Code:
Get $SO /A
? "Key: " + $SO[0]
? "KeyCode: " + $SO[1]
If $SO[0] = "" then you know a special key was pressed
$SO[1] p.e. an "A" on a French, Belgian(, Canadian?) keyboard will return the same KeyCode as a "Q" on almost any other keyboard in the world.
/A could be a switch to make Get work in Advanced mode, for downward compatibility
I do not know if that makes sense...
About MessageBox
The Error Code for MessageBox does not give me any added value.
Error Code = Return Value
Return Value = Error Code
It only gave me surprising error values at places in scripts where I did not expect to catch one.
Edited by Witto (2006-09-06 02:12 PM)