Действительно старый пост на данный момент, но, эй, нашел то, что искал.
MC SH1FTY, я полагаю, вы уже поняли это, но для того, что вы пытаетесь сделать:
1) Вызовите тот код, который Спенс написал как переменную (я бы объявил это глобально, но это мое предпочтение. Для этого:
Public userDesktopLoc As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
2) Либо используйте это ПРЯМО в вашемкод или создайте другую строку для объединения каталога:
Вариант A)
Public emulatorPath As String = userDesktopLoc & "pokemon games\Emulator\VBA\VisualBoyAdvance.exe "
Public romPath As String = userDesktopLoc & "pokemon games\Roms\Yellow\Pokemon Yellow.gb"
Затем в подпрограмме замените текущий оператор Shell
на:
Shell(emulatorPath & romPath, vbNormalFocus)
Или вариант B, который является ответом thedsz:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
Dim s As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Shell(s & "\Desktop\pokemon games\Emulator\VBA\VisualBoyAdvance.exe " & s & "\pokemon games\Roms\Yellow\Pokemon Yellow.gb""", vbNormalFocus)
End Sub