• 用VB创建快捷方式(无需第三方DLL)


    Option Explicit

    Private Sub Command1_Click()

    CreateProgManGroup Me, "测试", "test.grp"
    CreateProgManItem Me, "d:\ghost.exe", "Ghost"
    CreateProgManItem Me, "d:\setupQQ.exe", "QQ"

    End Sub

    Sub CreateProgManGroup(X As Form, GroupName$, GroupPath$)
    Dim i As Integer
    X.Label1.LinkTopic = "ProgMan|Progman"
    X.Label1.LinkMode = 2
    Rem 空循环使DDE有时间执行
    For i = 1 To 10
    DoEvents
    Next
    X.Label1.LinkTimeout = 100
    Rem LinkExecute 是在DDE通道中传送这样的命令
    '──建立一个名为GroupName $的程序组。
    X.Label1.LinkExecute "[ CreateGroup (" + GroupName$ + Chr$(44) + GroupPath$ + ") ]"
    X.Label1.LinkTimeout = 50 '恢复Label1 的属性值
    X.Label1.LinkMode = 0
    End Sub


    Sub CreateProgManItem(X As Form, CmdLine$, IconTitle$)
    Dim i As Integer
    X.Label1.LinkTopic = "ProgMan|Progman"
    X.Label1.LinkMode = 2
    For i = 1 To 10
    DoEvents
    Next
    X.Label1.LinkTimeout = 100
    X.Label1.LinkExecute "[AddItem(" + CmdLine$ + Chr$(44) + IconTitle$ + Chr$(44) + ", ,) ]"
    X.Label1.LinkTimeout = 50 '恢复Label1 的属性值
    X.Label1.LinkMode = 0
    Screen.MousePointer = 0
    End Sub


    如何将程序建立成“启动”文件夹的捷径?


    Text1.LinkTopic = "Progman|Progman"
    Text1.LinkMode = 2 '手动
    Text1.LinkExecute "[ShowGroup(启动, 4)]"
    Text1.LinkExecute "[AddItem(可执行文件完整路径, 捷径名称)]"
    假设我们想把“c:\vb5db\myprog.exe”建立成“启动”资料夹名称为“我的程序”的捷径,则最后一行的 LinkExecute 应该如下:
    Text1.LinkExecute "[AddItem(c:\vb5db\myprog.exe, 我的程序)]"


    如何实现在桌面上添加程序的快捷方式?

    假如程序为C:\Program Files\MyProg\Prog.exe,需加参数/Para
      新键一个项目,添加命令按钮和标签各一个,把下面的代码加上去,一运行,你将如愿以偿!


    Option Explicit
    Private Sub Command1_Click()
      CreateGroup "MyProg", "", "", 2, True
      CreateGroup "MyProg", "C:\ProgramFiles\MyProg\Prog.exe/Para", _
      "Para", 3, True
    End Sub
    Sub CreateGroup(ByVal strGroup As String, ByVal strCmd As String, ByVal _
    strTitle As String, ByVal intDDE As Integer, ByVal fLog As Boolean)
      Const strCOMMA$ = ","
      Const strRESTORE$ = ", 1)]"
      Const strACTIVATE$ = ", 5)]"
      Const strENDCMD$ = ")]"
      Const strSHOWGRP$ = "[ShowGroup("
      Const strADDGRP$ = "[CreateGroup("
      Const strREPLITEM$ = "[ReplaceItem("
      Const strADDITEM$ = "[AddItem("

      Dim i As Integer
      Dim Sourcefile As String, Destinationfile As String

      Form1.Label1.LinkMode = 0
      For i% = 1 To 20
       On Error Resume Next
       Form1.Label1.LinkTopic = "PROGMAN|PROGMAN" '设置发送端应用程序和主题
       If Err = 0 Then Exit For
       DoEvents
      Next
      Form1.Label1.LinkMode = 2 '采用手动方式建立连接
      For i% = 1 To 10
       DoEvents
      Next
      Form1.Label1.LinkTimeout = 100 '设置等待 DDE 响应消息的时间。

      If Err = 0 Then
       Select Case intDDE
         Case 1 '建立程序项
          Form1.Label1.LinkExecute strADDGRP & strGroup & strENDCMD
          Form1.Label1.LinkExecute strADDITEM & strCmd & strCOMMA & _
            strTitle & String$(3, strCOMMA) & strENDCMD
         Case 2 '建立程序组
          Form1.Label1.LinkExecute strADDGRP & strGroup & strENDCMD
          Form1.Label1.LinkExecute strSHOWGRP & strGroup & strRESTORE
         Case 3 '建立程序项,并复制一份添加到桌面
          Form1.Label1.LinkExecute strADDGRP & strGroup & strENDCMD
          Form1.Label1.LinkExecute strADDITEM & strCmd & strCOMMA & _
            strTitle & String$(3, strCOMMA) & strENDCMD
          Sourcefile = "C:\WINDOWS\Start Menu\Programs\" & strGroup & _
            "\" & strTitle & ".lnk" ' 指定源文件名。
          Destinationfile = "C:\WINDOWS\DESKTOP\" & strTitle & ".lnk"
                     '指定目的文件名。
          FileCopy Sourcefile, Destinationfile
       End Select
      End If

      '断开DDE联接
      Form1.Label1.LinkMode = 0
      Form1.Label1.LinkTopic = ""
    End Sub
  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/szyicol/p/517817.html
Copyright © 2020-2023  润新知