微信类似客服软件的实现

之前单位用的前台客服软件炸了,位置bug,会导致软件焦点乱跳,无奈自己写了一个给前台用

这样的一个显示,可以和微信同时出现同时关闭

暂时没有写好窗口跟随,按f区的键发送

仅提供源码,涉及发送内容的删掉了,自己修改

if !(A_IsAdmin || InStr(DllCall("GetCommandLine", "str"), ".exe"" /r"))
    Run % "*RunAs " (s:=A_IsCompiled ? "" : A_AhkPath " /r ") """" A_ScriptFullPath """" (s ? "" : " /r")
; 
标题:="墨华微信by hzn"
 
  gui Destroy
  gui +E0x08000000  +AlwaysOnTop 
  gui font, s12, Verdana 
  gui Add, Text, w-2 h-2 section
  For k,v in ["F1就诊","F2时间","F3医保","F4配药","F5地址","F6没到","F7病情","F8退费","F9丸剂","F10服用","重启"]
    gui Add, Button, x+5  g%v%,%v%
  ; Gui Show,w900 x347 y194 NoActivate,%标题%
return

F12::Reload
#IfWinActive ahk_exe WeChat.exe
F1:: 
F1就诊:
wc(就诊)
return

F2::
F2时间:
wc(时间)
return

F3::
F3医保:
wc(医保)
return

F4::
F4配药:
wc(配药)
return

F5::
F5地址:
wc(地址)
return


F6::
F6没到:
wc(没到)
return

F7::
F7病情:
wc(病情)
return

F8::
F8退费:
wc(退费)
return

F9::
F9丸剂:
wc(丸剂)
return

F10::
F10服用:
wc(服用)
return
#IfWinActive

^!w::
SendInput,^!w
DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd), OnMessage(DllCall("RegisterWindowMessage", "Str", "ShellHook"), "ShellEvent")
; t1:=A_TickCount, X:=Y:=""

; Text:="|<>*82$14.kztbwwzTjrvxyzTg3n2Nzqw8"
; ok:=FindText(X:="wait", Y:=0.5, 0,0,0,0,0,0,Text)    ; 等待3秒等图像出现
; if (ok:=FindText(X, Y, 362-150000, 425-150000, 362+150000, 425+150000, 0, 0, Text))
; {
  ; Gui Show,w900 x347 y194 NoActivate,%标题%
; }
; else
; gui,Hide
return

重启:
Reload
return

wc(Text){
  ; WinActivate ahk_exe WeChat.exe
  autoinput(Text)
  SendInput,{Enter}
  return 0
}

ShellEvent(wParam, lParam) {
	WinGetClass, Class, ahk_id %lParam%
	If (Class = "WeChatMainWndForPC")
     Gui Show,w900 x347 y194 NoActivate,%标题%
  else
    gui,Hide
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他社区推荐

批量打印工具

2022-7-23 9:06:31

其他

好物推荐 第5版 2022年7月26日

2022-7-26 20:47:35

13 条回复 A文章作者 M管理员
  1. 小幸福

    您好,不知道为什么autoinput函数老是报错,图的上面是代码,先是报错的内容,麻烦帮忙看下错在哪了?autohotkey 版本v1.1.33.00,脚本保存格式是:带有BOM的utf-8,谢谢了

  2. 而今迈步从头越

    运行不了的,主要由两种情况,第一种就是缺autoinput,打包的时候忘了从lib里面拉出来,这个根据留言加上吧.第二个就是缺少每个按键对应的sub,这个得手动加上的,我因为隐私原因删了自带的,在留言里也贴了一条,看着格式修改自己想要的吧

  3. 小幸福

    根据留言,增加了autoinput函数,结果还是运行不了,能否给下修改后的代码?谢谢了

    • 而今迈步从头越

      ;墨华收银微信常用语 就诊= ( 您好,这里墨华中医诊所,请仔细阅读门诊提示 1.门诊提示预约挂号请在周二到周六进行。周日周一门诊休息无人回复微信无人接听电话 2.暂时只有周二和周六上午朱老师门诊,别的时间段没有门诊 3.挂号费28元,挂号费直接微信转账即可,红包电脑端无法接收。如果微信限额无法接收门诊人员会发二维码给您扫码支付。 4.预约挂号请提供患者的姓名性别年龄联系方式身份证号. 预约挂号需要提供患者的以下信息请不要漏发,缺少信息会导致挂号失败,挂号延后 1.姓名 2.性别 3.年龄 4.手机号 身份证可以不给,但是年龄不能缺少,无论是否是老患者请发一下您的手机号,门诊部有多个同名患者,以尾号后四位进行区分 ) 时间= ( 墨华中医是周二和周六上午门诊 各个患者根据病情原因看诊速度不一样,门诊部无法给出准确的几点可以看到的建议,一般朱老师下午最迟一两点回学校,请自行合理安排时间看诊,来太迟朱老师可能走了, 门诊日由于现场人较多,一般不通知患者,门诊部最迟12点之前取号,请患者自行安排时间到达门诊部 朱老师上午一般最早9点多到门诊部,按照顺序叫号看诊 ) 配药= ( 患者可自行决定在不在墨华配药,墨华可以提供处方,患者自行在别的地方配药,墨华无法给出可以在别的地方配药的具体情况,请患者自行咨询。 另外要提醒您,墨华根据上级部门规定只能按整张方子配药,如果您在外面拿药有个别药没有,墨华无法提供单独的几个药给您,但仍旧可以一整张方子给您配药.请患者提前了解。 代煎和草药:代煎和草药不可逆,患者自行决定好选择,离开墨华后无法更改。 不方便来拿可以快递,快递与顺丰合作,顺丰到付。 ) 医保= ( 墨华刷医保卡:代煎费只能自付,如果有挂号费要自付,部分药医保没有收录需要自付,只能通过个人账户支付,没有统筹,门慢等,不能使用他人的卡刷卡 ) 服用= ( 饭后半小时服用,早晚各一服,放冰箱保险室 ) 地址= ( 墨华地址:南京市浦口区江浦街道金盛田锦上路1号四幢110室墨华中医诊所,隔壁是锦鼎堂红木馆,可以导航红木馆来查找 ) 没到= ( 朱老师还没到,门诊部无法确定朱老师到达的时间,但是一定来门诊的.就诊速度也无法预测,新老患者看诊速度不固定,无法给出大约几点可以看诊的回复,请患者自行安排时间前往门诊部.朱老师市区还有门诊一般最迟两点走,门诊部规定最迟12点取号,12点以后无法挂号和取号. ) 病情= ( 病情相关问题门诊部无法为您解答,可以自行打朱老师电话咨询17766425224,这是朱老师的手机号,或者添加这个手机号的微信 ) 退费= ( 您好,由于微信支付限制,退费请您提供微信收款码,这边给您退款 ) 丸剂= ( 丸剂制作好了,五点半之前可以来拿,不方便明天来也可以 ) if !(A_IsAdmin || InStr(DllCall(“GetCommandLine”, “str”), “.exe”” /r”)) Run % “*RunAs ” (s:=A_IsCompiled ? “” : A_AhkPath ” /r “) “””” A_ScriptFullPath “””” (s ? “” : ” /r”) ; 标题:=”墨华微信by hzn” gui Destroy gui +E0x08000000 +AlwaysOnTop gui font, s12, Verdana gui Add, Text, w-2 h-2 section For k,v in [“F1就诊”,”F2时间”,”F3医保”,”F4配药”,”F5地址”,”F6没到”,”F7病情”,”F8退费”,”F9丸剂”,”F10服用”,”重启”] gui Add, Button, x+5 g%v%,%v% ; Gui Show,w900 x347 y194 NoActivate,%标题% return F12::Reload #IfWinActive ahk_exe WeChat.exe F1:: F1就诊: wc(就诊) return F2:: F2时间: wc(时间) return F3:: F3医保: wc(医保) return F4:: F4配药: wc(配药) return F5:: F5地址: wc(地址) return F6:: F6没到: wc(没到) return F7:: F7病情: wc(病情) return F8:: F8退费: wc(退费) return F9:: F9丸剂: wc(丸剂) return F10:: F10服用: wc(服用) return #IfWinActive ^!w:: SendInput,^!w DllCall(“RegisterShellHookWindow”, “Ptr”, A_ScriptHwnd), OnMessage(DllCall(“RegisterWindowMessage”, “Str”, “ShellHook”), “ShellEvent”) ; t1:=A_TickCount, X:=Y:=”” ; Text:=”|*82$14.kztbwwzTjrvxyzTg3n2Nzqw8″ ; ok:=FindText(X:=”wait”, Y:=0.5, 0,0,0,0,0,0,Text) ; 等待3秒等图像出现 ; if (ok:=FindText(X, Y, 362-150000, 425-150000, 362+150000, 425+150000, 0, 0, Text)) ; { ; Gui Show,w900 x347 y194 NoActivate,%标题% ; } ; else ; gui,Hide return 重启: Reload return wc(Text){ ; WinActivate ahk_exe WeChat.exe autoinput(Text) SendInput,{Enter} return 0 } ShellEvent(wParam, lParam) { WinGetClass, Class, ahk_id %lParam% If (Class = “WeChatMainWndForPC”) Gui Show,w900 x347 y194 NoActivate,%标题% else gui,Hide } /* 使用剪貼簿插入文字 autoinput(test) */ AutoInput(InputStr){ clipboard_save = %ClipboardAll% clipboard:= clipboard = %InputStr% ClipWait Send ^v clipboard = %clipboard_save% }

  4. FM

    没有包含autoinput函数,运行不了

    • 而今迈步从头越

      ;使用剪貼簿插入文字 AutoInput(InputStr){ clipboard_save = %ClipboardAll% clipboard:= clipboard = %InputStr% ClipWait Send ^v clipboard = %clipboard_save% }

  5. 1河许人
    1河许人给您打赏了¥2
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索