BOOL CWorkDlg::OnInitDialog()//窗口初始化
{
。。。。。。。。
。。。。。。。
ks.bo=true;
ks.hwnd=this->m_hWnd;
m_thread=AfxBeginThread(threadproc,&ks);
return true;
}
UINT CWorkDlg::threadproc(LPVOID param) //线程处理函数
{
SBlei *zhen=(SBlei*)param;
while(zhen->bo)
{
::PostMessage(zhen->hwnd,WM_SEND,0,0);
Sleep(1000);
}
return 0;
}
void CWorkDlg::onsend()//消息处理函数
{
什么也不处理
}
头文件里:
#define WM_SEND WM_USER+101
class CWorkDlg : public CDialog
{
static UINT threadproc(LPVOID param);
public:
struct SBlei
{
HWND hwnd;
bool bo;
}ks;
。。。。。。。。。。。。
。。。。。。。。。。。。。。
afx_msg void onsend();
。。。。。。。。。。。。。。
}
我这样做有错?在调试模式什么错也没有,在发布模式运行线程一发送消息,程序就出错关掉。
消息函数是有响应的。
我用了UI线程试了下循环发送消息,结果在发布模式下也死掉了。
定时器也是线程来的吧,我用它循环发送消息也一样死掉?
高手帮帮忙啊。
谁有成功的例子,给我发下好不。
我做了很多实验,发了很多贴,都没法解决。
350955605@qq.com
7 个解决方案
#1
怎么没人理我啊,我是新手来的啊,对工具也不怎么熟悉。
在调试模式中实现可以就认为行了,没想学习打包的时候就遇到这问题了,现在真的不知道怎么办了?
在调试模式中实现可以就认为行了,没想学习打包的时候就遇到这问题了,现在真的不知道怎么办了?
#2
ks不能是局部变量.
#3
如楼上所说
你没必要把那个结构题定义在类里面 直接写成全局的
然后在需要的地方开堆内存试试
SBlei *ks=new SBlei;
你没必要把那个结构题定义在类里面 直接写成全局的
然后在需要的地方开堆内存试试
SBlei *ks=new SBlei;
#4
afx_msg void onsend();
-->
afx_msg LRESULT onsend(WPARAM wParam, LPARAM lParam);
-->
afx_msg LRESULT onsend(WPARAM wParam, LPARAM lParam);
#5
结构对齐有问题?
#6
afx_msg void onsend();
改为
onsend(WPARAM wParam, LPARAM lParam)//
头文件和CPP里面都改,我这里就好了。
很神奇吧。
楼主用的VC6,要不升2008吧,这个错会被揪出来.
改为
onsend(WPARAM wParam, LPARAM lParam)//
头文件和CPP里面都改,我这里就好了。
很神奇吧。
楼主用的VC6,要不升2008吧,这个错会被揪出来.
#7
ligeqiang
太感动了,太感谢你了。
原来是这样。
太感动了,太感谢你了。
原来是这样。
#1
怎么没人理我啊,我是新手来的啊,对工具也不怎么熟悉。
在调试模式中实现可以就认为行了,没想学习打包的时候就遇到这问题了,现在真的不知道怎么办了?
在调试模式中实现可以就认为行了,没想学习打包的时候就遇到这问题了,现在真的不知道怎么办了?
#2
ks不能是局部变量.
#3
如楼上所说
你没必要把那个结构题定义在类里面 直接写成全局的
然后在需要的地方开堆内存试试
SBlei *ks=new SBlei;
你没必要把那个结构题定义在类里面 直接写成全局的
然后在需要的地方开堆内存试试
SBlei *ks=new SBlei;
#4
afx_msg void onsend();
-->
afx_msg LRESULT onsend(WPARAM wParam, LPARAM lParam);
-->
afx_msg LRESULT onsend(WPARAM wParam, LPARAM lParam);
#5
结构对齐有问题?
#6
afx_msg void onsend();
改为
onsend(WPARAM wParam, LPARAM lParam)//
头文件和CPP里面都改,我这里就好了。
很神奇吧。
楼主用的VC6,要不升2008吧,这个错会被揪出来.
改为
onsend(WPARAM wParam, LPARAM lParam)//
头文件和CPP里面都改,我这里就好了。
很神奇吧。
楼主用的VC6,要不升2008吧,这个错会被揪出来.
#7
ligeqiang
太感动了,太感谢你了。
原来是这样。
太感动了,太感谢你了。
原来是这样。