"qq交谈"是怎样实现的呢?
想在winform程序里实现,点击上面的图片,就启动qq程序,
这是怎样实现的呢?谢谢
[解决办法]
private void btnRunQQ_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("tencent://message/?uin=QQ号码&Site=qq&Menu=yes");
}
[解决办法]
其中 “QQ号码” 用实际QQ号码代码就是了
[解决办法]
比如CSDN产品客服的QQ号码为 2355263776 那么代码就是
private void btnRunQQ_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("tencent://message/?uin=2355263776&Site=qq&Menu=yes");
}
[解决办法]
在QQ程序安装的时候,会在注册表的HTTP协议中加一个自定义协议,比如"tencent://",在这个协议关联的即是QQ所在调用程序.在网页上,网页代码链接就是"tencent://****",用户点击后,浏览器先检查注册表有无"tencent开头的协议,如果有,由传递给注册表中指定路径的程序打开.
以下是N年前用VB6写的,在地址栏输入dylike://或者链接以dylike://开头,即会调用指定的EXE打开并传递参数.
Begin VB.Form Form1
BackColor = &H00FFFFFF&
BorderStyle = 1 'Fixed Single
Caption = "DYLIKE万能调用 V1.0"
ClientHeight = 4995
ClientLeft = 45
ClientTop = 435
ClientWidth = 4680
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
Picture = "Form1.frx":42711
ScaleHeight = 4995
ScaleWidth = 4680
StartUpPosition = 2 '屏幕中心
Begin VB.Label Label2
BackStyle = 0 'Transparent
Height = 255
Left = 2400
MouseIcon = "Form1.frx":4BDB0
MousePointer = 99 'Custom
TabIndex = 2
Top = 4440
Width = 930
End
Begin VB.Label Label1
BackStyle = 0 'Transparent
Height = 255
Left = 120
MouseIcon = "Form1.frx":4C13A
MousePointer = 99 'Custom
TabIndex = 1
Top = 4200
Width = 930
End
Begin VB.Label QA
BackStyle = 0 'Transparent
Height = 975
Left = 2520
MouseIcon = "Form1.frx":4C4C4
MousePointer = 99 'Custom
TabIndex = 0
Top = 0
Width = 1935
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim SS As String
Dim PTH As String
Dim XX, YY As Integer
Dim FN
Dim CMD As String
Dim SP() As String
Private Sub Form_Load()
On Error Resume Next
CMD = Command
CMD = LCase(CMD)
CMD = Replace(CMD, Chr(34), "")
CMD = Replace(CMD, "dylike://", "")
CMD = Mid(CMD, 1, Len(CMD) - 1)
'------------程序路径-------------
PTH = App.Path
If Mid(PTH, Len(PTH) - 1, 1) <> "" Then
PTH = PTH & ""
End If
PTH = PTH & App.EXEName & ".exe"
PTH = Replace(PTH, "", "\")
'-----------注册表数据------------
GETSS (True)
REG (True)
'-----------执行程序-------------
If Trim(CMD) <> "" Then
SP = Split(CMD, "
[解决办法]
")
If Trim(SP(2)) <> "" Then
Select Case SP(2)
Case "普通"
Shell SP(0) & " " & SP(1), vbNormalFocus
Case "最小化"
Shell SP(0) & " " & SP(1), vbMinimizedFocus
Case "最大化"
Shell SP(0) & " " & SP(1), vbMaximizedFocus
End Select
If SP(2) <> "普通" And SP(2) <> "最小化" And SP(2) <> "最大化" Then
Shell SP(0) & " " & SP(1), vbNormalFocus
End If
Else
Shell SP(0) & " " & SP(1), vbNormalFocus
End
End If
End
End If
End Sub
Private Sub Label1_Click()
GETSS (False)
REG (False)
MsgBox "注销成功", vbOKOnly + vbInformation, "DYLIKE"
End Sub
Private Sub Label2_Click()
GETSS (True)
REG (True)
MsgBox "注册成功", vbOKOnly + vbInformation, "DYLIKE"
End Sub
Private Sub QA_Click()
On Error Resume Next
Shell "explorer.exe http://dylike.czdown.com"
End Sub
Private Sub REG(RG As Boolean)
On Error Resume Next
Select Case RG
Case True
FN = FreeFile
Open "c:\windows\temp\d1.reg" For Output As #FN
Print #FN, SS
Close FN
Shell "regedit.exe /s c:\windows\temp\d1.reg", vbNormalFocus
Case False
FN = FreeFile
Open "c:\windows\temp\d1.reg" For Output As #FN
Print #FN, SS
Close FN
Shell "regedit.exe /s c:\windows\temp\d1.reg"
End Select
End Sub
Private Sub GETSS(AA As Boolean)
On Error Resume Next
Select Case AA
Case True
SS = "Windows Registry Editor Version 5.00" & vbCrLf & vbCrLf & _
"[HKEY_CLASSES_ROOT\DYLIKE]" & vbCrLf & _
"@=[引号]DylikeSOFTWARE[引号]" & vbCrLf & _
"[引号]URL Protocol[引号]=[引号][程序路径][引号]" & vbCrLf & vbCrLf & _
"[HKEY_CLASSES_ROOT\DYLIKE\DefaultIcon]" & vbCrLf & vbCrLf & _
"@=[引号][程序路径],1[引号]" & vbCrLf & vbCrLf & _
"[HKEY_CLASSES_ROOT\DYLIKE\shell]" & vbCrLf & vbCrLf & _
"[HKEY_CLASSES_ROOT\DYLIKE\shell\open]" & vbCrLf & vbCrLf & _
"[HKEY_CLASSES_ROOT\DYLIKE\shell\open\command]" & vbCrLf & vbCrLf & _
"@=[引号]\[引号][程序路径]\[引号] \[引号]%1\[引号][引号]"
SS = Replace(SS, "[引号]", Chr(34))
SS = Replace(SS, "[程序路径]", PTH)
Case False
SS = "Windows Registry Editor Version 5.00" & vbCrLf & vbCrLf & _
"[-HKEY_CLASSES_ROOT\DYLIKE]" & vbCrLf & _
"[-HKEY_CLASSES_ROOT\DYLIKE\DefaultIcon]" & vbCrLf & vbCrLf & _
"[-HKEY_CLASSES_ROOT\DYLIKE\shell]" & vbCrLf & vbCrLf & _
"[-HKEY_CLASSES_ROOT\DYLIKE\shell\open]" & vbCrLf & vbCrLf & _
"[-HKEY_CLASSES_ROOT\DYLIKE\shell\open\command]"
SS = Replace(SS, "[引号]", Chr(34))
SS = Replace(SS, "[程序路径]", PTH)
End Select
End Sub