以下代码是在回调函数中
hfilemap=OpenFileMapping(FILE_MAP_ALL_ACCESS,false,"buttonmem");
int* buffer=(int*)MapViewOfFile(hfilemap,FILE_MAP_ALL_ACCESS,0,0,100*sizeof(int));
memcpy(buffer+1, (char *) &m_reshui, sizeof (BOOL));
if(*(buffer+1)==1)
{
Afxmessagebox("1");
}m_reshui关联的是一个布尔控件,按下时为1.但是实际运行时,即使按下也没有显示1,这是怎么回事??
hfilemap=OpenFileMapping(FILE_MAP_ALL_ACCESS,false,"buttonmem");
int* buffer=(int*)MapViewOfFile(hfilemap,FILE_MAP_ALL_ACCESS,0,0,100*sizeof(int));
memcpy(buffer+1, (char *) &m_reshui, sizeof (BOOL));
if(*(buffer+1)==1)
{
Afxmessagebox("1");
}m_reshui关联的是一个布尔控件,按下时为1.但是实际运行时,即使按下也没有显示1,这是怎么回事??
你的回调函数是怎么写的?执行这段代码的时候用TRACE把m_reshui的值打印出来看看
((CChatClientDlg*)(AfxGetApp()->m_pMainWnd))->m_system3.UpdateData(TRUE);
/*发送按钮信息至共享内存*/
hfilemap=OpenFileMapping(FILE_MAP_ALL_ACCESS,false,"buttonmem");
int* buffer=(int*)MapViewOfFile(hfilemap,FILE_MAP_ALL_ACCESS,0,0,100*sizeof(int));
memcpy(buffer+1, (char *) &m_reshui, sizeof (BOOL));
下面这句是在一个线程里面写的
nID=::timeSetEvent (10,1,callback,0,TIME_PERIODIC);问题应该就在于点按钮时候程序似乎接收不到按钮的值变化