S.O.
You might try using simple sign language. The two favorites that I have are the signs for "stop" and "no" they are simple and with my first, more effective than words or other actions. He is now almost 5 and I still use them. In public, he can look at me and I can sign one of these and he knows. It is also empowering for them once they can use it! Anyway, whatever you decide to do CONSISTENCY is the key! It takes dedication and you want to give in when you are tired but stick with it. Another suggestion might be to look into books or make you own that talks about what we can and can not do with our hands. I know there is a series of board books that have titles like "Hands are not for hitting" that shows other ways to use hands. Once you start seeing him use things correctly, PRAISE him excessively and this will help encourage the positive behavior and more less focus to the negative behavior. (I know this sounds like a lot but there just a few strategies...I am a preschool teacher so I have a bag full:)