Первая проблема заключается в том, что клавиша F10 уже зарезервирована для приложений Windows. Когда пользователь нажимает его, активное приложение выбирает первое меню в своей строке меню. Это предоставляет пользователям удобный способ активировать меню без использования мыши. Ваше предложение взломать эту функциональность на глобальном уровне является невнимательным и неуместным. Я предлагаю выбрать другую комбинацию клавиш, предпочтительно ту, которая не имеет стандартного значения.
Затем вам нужно будет установить низкоуровневый хук клавиатуры (единственный тип хуков, поддерживаемый приложениями .NET). Это единственный способ захвата событий клавиатуры, которые происходят вне вашего приложения. Поскольку вы хотите обнаруживать нажатия клавиш, возникающие, когда ваше приложение находится не на переднем плане, вам понадобится глобальный хук.
Здесь, в блоге Стивена Туба, имеется отличный образец . Это написано на C #, но преобразование в VB.NET тривиально . Если вы предпочитаете полную базу существующего кода, которую вы можете просто добавить в свой проект, вы можете попробовать этот пример , но учтите, что он включает в себя множество дополнительных функций, которые вам не понадобятся.