You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB6按钮中打开指定号码带消息的WhatsApp Desktop

在VB6中通过按钮打开WhatsApp Desktop并跳转至指定聊天窗口

要实现你要的功能,不需要直接指定WhatsApp的安装路径,而是利用WhatsApp支持的URI Scheme(即whatsapp://协议),配合VB6的ShellExecute API调用系统默认协议处理程序,就能直接跳转至指定号码的聊天窗口并附带预设消息。

步骤1:声明ShellExecute API

在VB6窗体的代码模块顶部(通用声明区域)添加以下API声明:

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

步骤2:编写按钮点击事件代码

在按钮的Click事件中,构造WhatsApp的URI并调用ShellExecute:

Private Sub Command1_Click()
    Dim whatsappURI As String
    Dim phoneNumber As String
    Dim messageText As String
    
    ' 目标号码:必须是带国家码的纯数字,不要加+号、空格等分隔符
    phoneNumber = "54123456789"
    ' 预设消息:包含空格/特殊字符时需URL编码
    messageText = "hello!!"
    
    ' 构造完整URI,对消息内容做URL编码避免失效
    whatsappURI = "whatsapp://send?phone=" & phoneNumber & "&text=" & URLEncode(messageText)
    
    ' 调用API打开URI,自动唤起WhatsApp Desktop跳转至目标聊天
    ShellExecute Me.hWnd, vbNullString, whatsappURI, vbNullString, vbNullString, SW_SHOWNORMAL
End Sub

关键细节说明

  • 号码格式要求:phone参数必须是国际标准号码,比如阿根廷号码+54 123 456789要写成54123456789,不能带+、空格或括号。
  • 消息编码:如果消息包含空格、中文或特殊字符(如!@#),必须用URLEncode函数处理,它会自动把空格转为%20,特殊字符转为对应编码值。
  • 替代Shell命令的原因:你之前用的Shell命令只能启动程序,无法传递URI参数;而ShellExecute能识别whatsapp://协议,让系统自动调用WhatsApp处理跳转逻辑,无需手动指定安装路径。

内容的提问来源于stack exchange,提问作者user14351562

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 11:35:17