As far as I know, there is no direct way to get the return value of an SP outside SSMS - ExecuteNonQuery won't do it - it returns the number of rows affected, not the RETURN value. And ExecuteScalar won't either, unless the result its SELECTed.
If you can modify your SP to SELECT the value instead of / as well as RETURNing it, then your are ok. If not them you need to create a second SP to do just that:
CREATE PROCEDURE spGetTheRETURNValue
AS
BEGIN
RETURN 666
END
CREATE PROCEDURE spGetTheActualValue
AS
BEGIN
DECLARE @ret INT
EXEC @ret = spGetTheReturnValue
SELECT @ret
END
You can then call the new procedure using ExecuteScalar and retrieve the value that way.