You wired up the LoadGrammarCompleted event (which you don't need and wiredup to the WRONG handler BTW), but not the
event?? How are you going to get notified that the engine heard something??
When you finally get the event handler written and wired up, you can get the Text of the recognition Result out of the event args you are passed in the handler.
AddHandler engine.SpeechRecognized, AddressOf SpeechRecognizedHandler
You can delete the other AddHandler line and put the above in it's place. You're not calling
so the LoadGrammarCompleted event won't do you any good.
Then you can easily get the text of the recognized speech...
Private Sub SpeechRecognizedHandler(ByVal sender As Object, ByVal e As SpeechRecognizedEventArgs)
Console.WriteLine("Recognized: " & e.Result.Text)