Mc *_*FTY 5 vb.net visual-studio-2010
我在visual studio中做了一个小应用程序,它在模拟器中加载了一个ROM.我有两个模拟器和20个ROM.
我做了一个表格并添加了几个按钮.单击按钮时,它会打开一个新表单并关闭旧表单.然后在新表单上我有四个按钮:每个按钮在模拟器中加载不同的ROM.因此,当您按下Button1时,将触发此代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
Shell("C:\Users\shifty\Desktop\pokemon games\Emulator\VBA\VisualBoyAdvance.exe ""C:\Users\shifty\Desktop\pokemon games\Roms\Yellow\Pokemon Yellow.gb""", vbNormalFocus)
End Sub
Run Code Online (Sandbox Code Playgroud)
它工作正常 - 我点击它,它在模拟器中加载游戏.我遇到问题的是文件路径.如果我将此应用程序发送给朋友,它仍然会查找"C:\ Users\shifty\Desktop \" - 但这是在我的计算机上,而不是他的.
有没有办法让应用程序在他的计算机上查找文件(不将文件路径更改为(C:\ Users \""他的用户名""\ Desktop))
Spe*_*nce 38
Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
这将解析为当前用户的桌面文件夹.
它甚至可以在XP,vista和Windows 7之间正常工作.
老帖子,但我不得不支持Mc Shifty.你不能假设每个人都是编码专家.如果他们那么他们就不会在这里问这样的问题.
上面给出的答案都没有完整
Environment.GetFolderPath(Environment.SpecialFolder.Desktop))
<<<包括和额外的)
Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
<<<额外的)和; 是C或java而不是VB,他显然是通过他的示例代码使用的.
这两个只给你一半所需的代码来生成可用的东西.
Dim s As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Run Code Online (Sandbox Code Playgroud)
上面的代码将为您提供所需的结果,c:\ users\shifty\desktop
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
Run Code Online (Sandbox Code Playgroud)
Joh*_*rer -2
您需要使用文件打开对话框来选择这两个文件的路径。 这是一个例子。
然后,您在代码中使用这两个路径:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yellow.Click
Shell(emulatorPath + "\"" + romPath + "\"", vbNormalFocus)
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42171 次 |
最近记录: |