紧急求问:我用CAsyncSocket做了一个通讯库,但是用在Form程序报错

weasea 2010-10-13 02:44:16
我仔细的研究了下,应该是库里面 CAsyncSocket 需要一个窗口做消息转发。但是Form程序,得到的窗口不能作消息转发。
求救啊。。。
是不是CAsyncSocket 不能用在C#里面
...全文
125 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-11-09
  • 打赏
  • 举报
回复
weasea 2010-11-09
  • 打赏
  • 举报
回复
hwnd没有问题。.net 能把他的窗口句柄传到库里面。
weasea 2010-11-09
  • 打赏
  • 举报
回复
对对对,这个是因为这个库需要被.net调用 和mfc同时调用

对于mfc 不需要调用
afxCurrentInstanceHandle = _AtlBaseModule.GetModuleInstance();
afxCurrentResourceHandle = _AtlBaseModule.GetResourceInstance();

对于.net 需要调用
所以代码是:
if(afxCurrentInstanceHandle==NULL)
{
afxCurrentInstanceHandle = _AtlBaseModule.GetModuleInstance();
afxCurrentResourceHandle = _AtlBaseModule.GetResourceInstance();
}
兔子-顾问 2010-11-09
  • 打赏
  • 举报
回复
话说。自己解决了。最好还是贴下解决方法。日后帖子被搜索到也有点价值。
兔子-顾问 2010-11-09
  • 打赏
  • 举报
回复
怎么解决的?
是不是换个地方调用
setHwnd(this.handle);
你之前调用的时候Handle还没创建好?
weasea 2010-11-09
  • 打赏
  • 举报
回复
解决了。。。
谢谢。
deyygywxf 2010-10-14
  • 打赏
  • 举报
回复
lz帮顶,记得给分哦~
weasea 2010-10-13
  • 打赏
  • 举报
回复
up............
weasea 2010-10-13
  • 打赏
  • 举报
回复
btw:SetHwnd(HWND hWnd); 这个窗口句柄是用来做 CAsyncSocket消息转发的,C# Fomr程序支持吗?
谢谢
weasea 2010-10-13
  • 打赏
  • 举报
回复
简单的说
库里面有个函数是
SetHwnd(HWND hWnd);

我如何在C# form程序里调用这个函数 把窗口句柄赋进去。
谢谢
setHwnd(this.handle);没有用
颤菊大师 2010-10-13
  • 打赏
  • 举报
回复
你就这样的提问,你觉得谁能懂?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧