I figured it out! I just placed this sample code in Hal's HalScript.dbg around line 470 and it worked.
fileToOpen = "C:\Users\Victor\Desktop\anyfilename.lnk"
If InStr(1, UserSentence, "activate", 1) > 0 Then
GetResponse = GetResponse & "I will open this for you"
HalCommands = HalCommands & "<RUNPROG>" & fileToOpen & "</RUNPROG>"
End If
You can use any keyword you want. I chose "activate" because it works best for me. You can also duplicate this code and assign different keywords to open different files. So you dont have to use the word open all the time. You do not have to update the shortcut.dat file either.
Just be careful not to choose a keyword that you use often when chatting with Hal or he will open the file in the middle of a conversion.