群友提问:
有办法用ahk直接发送小文件或软件给微信好友吗,最好是用热字符串的方式

以下脚本为书妖答复

我稍加整理,增加了多个文件的支持,脚本如下

微信可以这样尝试一下
1、在资源管理器中,选中要发送的文件,之后按 F8
2、脚本会自动定位到与xxx聊天  ,本脚本以文件传输助手来示范。
3、脚本会自动发送^v,将要发送的文件粘贴到聊天区。


/*
脚本说明:用ahk定义热键或热字串直接发送小文件或软件给微信好友
更新日期:2021年5月14日
最新版:https://blog.csdn.net/liuyukuan/article/details/116800433微信可以这样尝试一下,
1、在资源管理器中,选中要发送的文件,之后按 F8
2、脚本会自动定位到与xxx聊天  ,本脚本以文件传输助手来示范。
3、脚本会自动发送^v,将要发送的文件粘贴到聊天区。
*/F8::
OutputDebug, Because the window
PathToCopy:=Explorer_GetSelection()
OutputDebug %PathToCopy%
FileToClipboard(PathToCopy)
WinShow,微信 ahk_class WeChatMainWndForPC
WinActivate,微信 ahk_class WeChatMainWndForPC
Sleep,300
Send ^f
Sleep,200
Send {text} 文件传输助手
Sleep,500
OutputDebug, "找到"
Send {Shift}{Enter}
OutputDebug, "进入"
Sleep 1000
OutputDebug,  "粘贴"
Send ^v
returnExplorer_GetSelection(hwnd="")
{  WinGet, process, processName, % "ahk_id" hwnd := hwnd? hwnd:WinExist("A")  WinGetClass class, ahk_id %hwnd%  if (process != "explorer.exe")  return  if (class ~= "Progman|WorkerW") {  ControlGet, files, List, Selected Col1, SysListView321, ahk_class %class%  Loop, Parse, files, `n, `r  ToReturn .= A_Desktop "\" A_LoopField "`n"  } else if (class ~= "(Cabinet|Explore)WClass") {  for window in ComObjCreate("Shell.Application").Windows {try{if (window.hwnd==hwnd)  sel := window.Document.SelectedItems  }catch e {continue}}for item in sel  ToReturn .= item.path "`n"  }  return Trim(ToReturn,"`n")
}
/*path_list =(d:\test.txtd:\test2.txt)FileToClipboard(path_list)
*/
;~ 当前内容如果是非文件,则清空并写入目标文件,如果是文件,则将目标文件加入剪贴板行列
;~ 就是将不同目录的文件添加到剪贴板,可以一并复制FileToClipboard(PathToCopy, Method="copy")
{; 展开为完整路径Loop, Parse, PathToCopy, `n, `rPathToCopy_Full .= "`n" GetFullPath(A_LoopField)PathToCopy := Trim(PathToCopy_Full, "`n")FileCount:=0PathLength:=0; Count files and total string lengthLoop,Parse,PathToCopy,`n,`r{FileCount++PathLength += StrLen(A_LoopField)}pid:=DllCall("GetCurrentProcessId","uint")hwnd:=WinExist("ahk_pid " . pid); 0x42 = GMEM_MOVEABLE(0x2) | GMEM_ZEROINIT(0x40)hPath := DllCall("GlobalAlloc","uint",0x42,"uint",20 + (PathLength + FileCount + 1) * 2,"UPtr")pPath := DllCall("GlobalLock","UPtr",hPath)NumPut(20,pPath+0),pPath += 16 ; DROPFILES.pFiles = offset of file listNumPut(1,pPath+0),pPath += 4 ; fWide = 0 -->ANSI,fWide = 1 -->UnicodeOffset:=0Loop,Parse,PathToCopy,`n,`r ; Rows are delimited by linefeeds (`r`n).offset += StrPut(A_LoopField,pPath+offset,StrLen(A_LoopField)+1,"UTF-16") * 2DllCall("GlobalUnlock","UPtr",hPath)DllCall("OpenClipboard","UPtr",hwnd)DllCall("EmptyClipboard")DllCall("SetClipboardData","uint",0xF,"UPtr",hPath) ; 0xF = CF_HDROP; Write Preferred DropEffect structure to clipboard to switch between copy/cut operations; 0x42 = GMEM_MOVEABLE(0x2) | GMEM_ZEROINIT(0x40)mem := DllCall("GlobalAlloc","uint",0x42,"uint",4,"UPtr")str := DllCall("GlobalLock","UPtr",mem)if (Method="copy")DllCall("RtlFillMemory","UPtr",str,"uint",1,"UChar",0x05)else if (Method="cut")DllCall("RtlFillMemory","UPtr",str,"uint",1,"UChar",0x02)else{DllCall("CloseClipboard")return}DllCall("GlobalUnlock","UPtr",mem)cfFormat := DllCall("RegisterClipboardFormat","Str","Preferred DropEffect")DllCall("SetClipboardData","uint",cfFormat,"UPtr",mem)DllCall("CloseClipboard")return
}GetFullPath(fpath)
{Loop, %fpath%Return, A_LoopFileLongPath
}

[AHK]一键发送选中的文件给微信好友相关推荐

  1. 电脑企业微信怎么发送本地文件给微信好友?

    电脑上使用办公工具企业微信可帮助大家将个人微信的交际圈和工作时的客户区分开来,企业微信的功能和个人微信有很多类似之处,如可以发送文本聊天语言,可以传输图片,也可以发送文件等. 文章来源:电脑企业微信怎 ...

  2. python发送文件给微信好友_基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  3. python发送文件给微信好友_Python定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  4. 以此之道还施彼身----鹅厂,你想不到吧!我用你的浏览器,破解了微信不能传输超过1G的文件给微信好友

    最近楼主,无意中借用第三方网盘+QQ浏览器破解了微信不能传输超过1G文件的限制.关键下载还不限速,20M/s ,视频文件还能实时观看.不得不服.不知道鹅厂要是知道了会怎么想,, 以下是操作教程 1,上 ...

  5. uni-app实现发送到朋友圈,微信好友等功能兼容小程序app

    做小程序或app,其本都需要用到这个功能,这里详细总结一下相关步骤.大概就是实现下图的三个功能: 一,保存图片功能(小程序和APP一样) <view @click="baoimgFn& ...

  6. python发送文件给微信好友_python获取天气接口给指定微信好友发天气预报

    先看下效果图: 用到的模块: PyMySQL requests threading wxpy 要实现上面的示例,首先是有两大块地方 获取天气信息 通过微信将天气信息发送出去 而获取天气信息又包括几个小 ...

  7. 微信转发软件后缀_APP分享文件给微信好友

    微信官方文档好坑(也许本人脑残),在微信开放平台并没有找到分享文件的接口,给的接口只有分享文字.图片.音乐.视频.网址. 感谢cordova的微信分享插件,在源码中找到了一个类----WXFileOb ...

  8. Python-定时爬取指定城市天气(一)-发送给关心的微信好友

    一.背景 上班的日子总是3点一线,家里,公司和上班的路径,对于一个特别懒得我来说,经常遇到上班路上下雨了,而我却没带伞,多么痛的领悟.最近对python有一种狂热的学习热情,写了4年多的C++代码,对 ...

  9. Android 原生分享文件到微信

    最近有一个分享文件的功能,记录下,除了分享文件,其他功能来之网络. import android.content.ComponentName; import android.content.Conte ...

最新文章

  1. Apache启动时报Could not reliably determine the server's fully qualified domain name
  2. SpringBoot--Druid多数据源配置
  3. 5道不一样的Python基础题练习题,很有难度
  4. 用于matplotlib对齐很有用的算法,可用于面试笔试
  5. HDU4532(组合DP)
  6. 《Linux From Scratch》第二部分:准备构建 第三章:软件包与补丁- 3.2. 所有软件包...
  7. r矢量球坐标系旋度_三个常用坐标系的认识及矢量旋度表达式的证明
  8. 电梯的测试用例的设计点
  9. less(css)语言快速入门
  10. android从本地图片导入应用,android – 将图像添加到图库
  11. 退出myeclipse 8.5配置中心
  12. Python 颜色选择器
  13. [回溯法] 求n个元素的集合的幂集 - 递归实现 - C语言
  14. 企业网站建设能带来的7大好处
  15. 2_PY基本数据类型
  16. 基于Java的敬老院管理系统的设计和实现(论文+PPT+源码)
  17. ESP8266介绍与连接第三方物联网平台
  18. 使用C语言教你轻松学会Cantor表
  19. java.util.sortedmap_Java SortedMap lastKey()用法及代码示例
  20. Android TV 8.0 Browser播放视频闪退

热门文章

  1. Weinre入门手册
  2. mysql tpch_数据库MySQL与TPCH
  3. 关系代数运算除法mysql_关系代数运算之除法运算专题讲解
  4. JSE2-对象和类基础
  5. asp 调用php上传图片,asp 版 本地图片上传问题!
  6. 【JIPB】WRKY33介导的代谢途径赋予芸苔属作物对芸苔链格孢菌的抗性
  7. [学习笔记]可持久化数据结构——数组、并查集、平衡树、Trie树
  8. CentOS部署FTP服务(vsftpd)及常见问题解决办法
  9. python操作sqlite数据库_Python 操作SQLite数据库的示例
  10. win10备份为wim_无惧UEFI, Win10也能玩转一键自动还原