joshl_1995 22 Twisted Digital

Hello Community,
I was wanting to make a controller to work with my program (which is coded in VB.NET) and I want to know how this would be done.
Example if I press a button on the controller it will press a button on the program, however I would also like it to work even if the program isn't focused on so if the program is minimized and I'm in like Visual Studio and I press the button it will still press the button on the program form.

I have looked at the Arduino but I'm not familure with the language C or what ever language it uses and I just want to see if there is a different way before I start looking at the.

So to do this would I have to make a driver or something? if so how?