1.DDE
新键一个项目,添加命令按钮和标签各一个,把下面的代码加上去,一运行,你将如愿以偿! 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
End If
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
新键一个项目,添加命令按钮和标签各一个,把下面的代码加上去,一运行,你将如愿以偿! 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
End If
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
应用 WSH 读写注册表和建立快捷方式
人气值:
615 文档分类:
Visual Basic 贴文时间
2000-11-29 1:35:19 得票数:
52 给贴子投票
投票
作者 : wxj_lake
出处:
关于WSH在VB中的用法 这里,我们只讨论读写注册表和建立快捷方式。
首先在工程的References中选中Windows Scripting Host Object Model,再来看一下下面的代码。 Dim WSH_shell, urlLink, deskPath Set WSH_shell = New IWshShell_Class
WSH_shell.RegWrite "HKLM\Software\ArchTide\", "first" '以上两句新建了一个IWshShell_Class实例,然后在HKEY_LOCAL_MACHINE下
'建立一个主键,并写入字符串值。注意应用HKCU代表HKEY_CURRENT_USER、
'HKCR代表HKEY_CLASSES_ROOT,以此类推...
'与注册表相关的函数原型如下:
'Function RegRead(bstrName As String) 读注册表,bstrName为键名
'Sub RegDelete(bstrName As String) 删除主键
'Sub RegWrite(bstrName As String, pvValue, [pvarType])
'[pvarType]可以省略,或为“REG_DWORD”、“REG_BINARY” deskPath = WSH_shell.SpecialFolders("Desktop") '获得桌面路径
'可以用WSH_shell.ExpandEnvironmentStrings("%windir%")获得Windows路径
Set urlLink = WSH_shell.CreateShortcut(deskPath & "\ok.lnk")
With urlLink
.TargetPath = deskPath & "\无标题.txt"
.IconLocation = "D:\DevStudio\MyProjects\Desktop Arrow\Res\doc.ico"
.Hotkey = "CTRL+SHIFT+D"
.WorkingDirectory = deskPath '起始位置
.WindowStyle = WshNormalFocus
'可以设的值有WshHide、WshMaximizedFocus、WshMinimizedFocus、
'WshMinimizedNoFocus、WshNormalFocus、WshNormalNoFocus
End With
urlLink.Save '保存快捷方式 WSH的功能很强大,还有许多应用不是一时讲得完的,大家好好发掘吧^_^