vbdll:用VB创建Windows快捷方式(无需DLL)



创建开始菜单快捷方式

 

Option Explicit

Private Sub Command1_Click

CreateProgManGroup Me, \"测试\", \"test.grp\"
CreateProgManItem Me, \"d:\\ghost.exe\", \"Ghost\"
CreateProgManItem Me, \"d:\\upQQ.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.MousePoer = 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 DDE 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
   _disibledevent=>   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 DDE
     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


 

Tags:  vb制作dll vbdllinjector vb调用dll vbdll

延伸阅读

最新评论

发表评论