0

我想在快捷链接运行时实现...表单自动关闭,顺便说一句,我是 vb 编码的新手,所以任何帮助将不胜感激,这是我到目前为止的代码

Private Sub Form_Load()

Set ss = CreateObject("WScript.Shell")
ss.Run Chr(34) & ss.specialfolders("Desktop") & "\app\SOMEGAME.lnk" & Chr(34)

End Sub
4

1 回答 1

1

假设您使用的是 VB6(这是您的代码的样子),您可以通过调用关闭表单

Unload Me

Form_Load事件处理程序的末尾。

但是,您不需要使用表单来启动快捷方式 - 您可以将模块添加到您的项目(右键单击您的项目,选择Add-> Module),然后调用该ShellExecute()函数来启动您的快捷方式,如下所示:

'Declare the ShellExecute() API function
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As Long

Private Const SW_SHOWNORMAL As Long = 1

'Entry point of your program
Public Sub Main()

    Dim sPath As String

    sPath = "C:\app\SOMEGAME.lnk"
    ShellExecute 0, vbNullString, sPath, vbNullString, "C:\", SW_SHOWNORMAL

End Sub

要完成这项工作,请将Startup Object项目属性下的设置为Sub Main.

使用这种方法,您没有表单 - 您的程序只是从命令行(或从它自己的快捷方式)运行。如果您的程序不需要它,通常最好不要创建/显示表单,因为表单使用额外的资源。

话虽如此,您应该尝试使用 VB.Net 或 C# 为 Windows 编写程序 - VB6 是没有支持的旧技术,它无法处理许多新技术。如果您还不了解 VB6,那么现在学习它没有什么意义——您可以通过学习 VB.Net/C# 更好地利用您的时间。

于 2013-08-26T06:00:14.260 回答