Closed nmilu closed 5 years ago
或许你用的是非官方版本的微信?
WeChatWin.dll 修改过?
emmmm,并没有对客户端做修改。我系统是win10,64的。有影响么?
更新了最新的WeChat PC客户端。WXSendTextMsg只要被调用,客户端就会崩溃。 控制台输出异常RPC Exception 1726
把微信版本和代码发出来看看。 我用C#都一切正常(win10 64)。
之前遇到过返回50,是因为自己本机的WeChatWin.dll修改过,后来重装官方微信就好了。
[HttpPost]
public SendMsgOutput SendMsg(SendMsgInput input)
{
var result = new SendMsgOutput() { Success = false, Msg = "发送失败" };
if (input != null)
{
if (!string.IsNullOrEmpty(input.Wxid) && !string.IsNullOrEmpty(input.Msg))
{
int resultNum = WXSendTextMsg(pid, input.Wxid, input.Msg);
if(resultNum == 0)
{
result = new SendMsgOutput() { Success = true, Msg = "发送成功" };
}
}
else
{
result = new SendMsgOutput() { Success = false, Msg = "预发送消息的接收人或消息不能为空" };
}
}
else
{
result = new SendMsgOutput() { Success = false, Msg = "请求参数不存在!" };
}
return result;
}
WeChat版本:2.6.7.40
初始化方法沿用作者的,暂时未做修改。只是改成WebAPI 托管了。
我也有个问题,微信版本2.6.7.40. 跑的SDK里的Test.没有任何效果.所有方法全部直接跑过去了,,没有进入while哪怕微信没有登录
我也有个问题,微信版本2.6.7.40. 跑的SDK里的Test.没有任何效果.所有方法全部直接跑过去了,,没有进入while哪怕微信没有登录
咱俩应该不是一个情况
我换了一台机器也这样.win10 64位
我换了一台机器也这样.win10 64位
检查是否WeChatSDK.dll,WeChatSDKCore.dll这两个都放在bin文件夹了。 我本机初始化启动,是没有任何问题的。
都放了.我又换了两台机器测试.都是直接跑过去完全没有进while.
好吧.我以为只有我不能用.问了问群里的都不能用.我就放心了
刚才试了下 这里的https://github.com/anhkgg/SuperWeChatPC/releases/tag/v1.3.0 sdk就会有问题。 而直接Clone回来的sdk目录下的WeChatSDK.dll 和 WeChatSDKCore.dll 就使用正常
刚才试了下 这里的https://github.com/anhkgg/SuperWeChatPC/releases/tag/v1.3.0 sdk就会有问题。 而直接Clone回来的sdk目录下的WeChatSDK.dll 和 WeChatSDKCore.dll 就使用正常
谢谢提醒,我确实下载的是上述链接的包。我换成您提醒的操作一下,试试
正确的应该是:
文件: WeChatSDK.dll 大小: 128512 字节 文件版本: 1.3.0.0 修改时间: 2019年3月9日, 18:45:32 MD5: 3CAA9714FA177FC746E2075486944338 SHA1: D6E4ACA9DDA3025DCC74B4B92D84A25138345975 CRC32: 0E88C28E
文件: WeChatSDKCore.dll 大小: 379904 字节 文件版本: 1.3.0.0 修改时间: 2019年3月9日, 18:45:32 MD5: ED5B3F4C943912F14AE762C23F60A48A SHA1: 1F8840ACB54D43EACCE3BAD715E0C1023B4E4413 CRC32: 01516415
正确的应该是:
文件: WeChatSDK.dll 大小: 128512 字节 文件版本: 1.3.0.0 修改时间: 2019年3月9日, 18:45:32 MD5: 3CAA9714FA177FC746E2075486944338 SHA1: D6E4ACA9DDA3025DCC74B4B92D84A25138345975 CRC32: 0E88C28E
文件: WeChatSDKCore.dll 大小: 379904 字节 文件版本: 1.3.0.0 修改时间: 2019年3月9日, 18:45:32 MD5: ED5B3F4C943912F14AE762C23F60A48A SHA1: 1F8840ACB54D43EACCE3BAD715E0C1023B4E4413 CRC32: 01516415
状况依然存在。断点在通过WXSendTextMsg方法后,WeChat客户端异常崩溃,控制台输出RPC Exception 1726
如果使用低版本客户端不会导致客户端崩溃,但是WXSendTextMsg会返回50
[DllImport("WeChatSDK.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] public static extern int WXSendTextMsg(int pid, string wxid, string msg);
微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 还不行的话,就真不知道了。 我刚才再次测试了下,收发消息都正常。
[DllImport("WeChatSDK.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] public static extern int WXSendTextMsg(int pid, string wxid, string msg);
微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 还不行的话,就真不知道了。 我刚才再次测试了下,收发消息都正常。
我给filehelper 发送消息是可以的。给测试账号就会导致客户端崩溃。您在测试的时候wxid是传递的原始ID么?
[DllImport("WeChatSDK.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] public static extern int WXSendTextMsg(int pid, string wxid, string msg); 微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 还不行的话,就真不知道了。 我刚才再次测试了下,收发消息都正常。
我给filehelper 发送消息是可以的。给测试账号就会导致客户端崩溃。您在测试的时候wxid是传递的原始ID么?
不是原始ID 是修改过的微信号
咱俩一个情况 微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 发送 微信崩溃 RPC Exception 1726 给 filehelper 是可以的 登录接收语音啥的正常
咱俩一个情况 微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 发送 微信崩溃 RPC Exception 1726 给 filehelper 是可以的 登录接收语音啥的正常
这个问题,我已经解决。 导致崩溃的原因是,指定发送消息的Wxid不是最原始的id。 先设置好回调方法,然后通过对方微信发送一条消息,控制台就可看到对方原始wxid。
咱俩一个情况 微信版本:https://dldir1.qq.com/weixin/Windows/WeChat_C1012.exe 发送 微信崩溃 RPC Exception 1726 给 filehelper 是可以的 登录接收语音啥的正常
这个问题,我已经解决。 导致崩溃的原因是,指定发送消息的Wxid不是最原始的id。 先设置好回调方法,然后通过对方微信发送一条消息,控制台就可看到对方原始wxid。
多谢提醒 我的好像也能发送了,但是之前我有试过 原始wxid 不行 不知道是不是 对方发送以后才行。我在观察一下
调用WXSendTextMsg 触发RPC异常 返回50