首页编程createevent,vc++中,关于WaitForSingleObject和CreateEvent的用法

createevent,vc++中,关于WaitForSingleObject和CreateEvent的用法

编程之家2023-11-02114次浏览

大家好,今天我将为大家揭秘createevent和vc++中,关于WaitForSingleObject和CreateEvent的用法的奥秘,希望我的分享能给你带来新的启发和知识。

createevent,vc++中,关于WaitForSingleObject和CreateEvent的用法

createeventserverfailed文字全是乱码

可能是目标机器上,编码格式不一致,

修改方法:一、重新设定区域语言。开始-设置-控制面板-区域和语言选项-打开“区域和语言选项”对话框-区域选项-将“标准和格式”“位置”两处都设定为中文(中国)-将“非Uni??程序的语言”设定为中文(中国)。

二、重新设定系统内部编码。在IE窗口-查看-编码-选“简体中文GB2313”,如仍是乱码,改设定为“UTF-8”。

EventLog.CreateEventSource是不是创建一个自定义日志

1.有没有可能是你写的标准应用程序当源“myApp的”日志?如果是这样,根据MSDN:如果源已经映射到一个记录和你重新映射到一个新的日志,你必须重新启动更改生效。(大约半方式在页面)

2.你可能会忘记在你的事件日志设置Source属性。它应该看起来像这样: if(!EventLog.SourceExists("MySource"))

{

createevent,vc++中,关于WaitForSingleObject和CreateEvent的用法

EventLog.CreateEventSource("MySource","MyNewLog");

}

EventLog myLog= new EventLog();

myLog.Source="MySource";

myLog.WriteEntry("Writing to event log.");

下面是参考MSDN文章。

createevent,vc++中,关于WaitForSingleObject和CreateEvent的用法

3.我刚才写一些代码,就出了这一点。在我所遇到的另一个问题,日志源登记,不想手动不得不从日志中删除源。我决定要做的就是检查来源是否存在,如果它不检查其链接到正确的日志 CodeGo.net,如果不删除源,现在,它不存在或f它从来没有创建日志新品牌。protected const string EventLogName="MyLog";

vc++中,关于WaitForSingleObject和CreateEvent的用法

ExitHandle是一个标志事件,你可以把它理解为一个BOOL类型的变量

WaitForSingleObject是在指定的时间内等待这个事件发生,如果发生,返回值就是WAIT_OBJECT_0,你可以理解为在指定的时间内判断ExitHandle是否为真.

虽然效果上和BOOL变量类似,但实际上工作原理复杂的多,这涉及到WINDOWS的线程切换及线程同步等相关知识,有兴趣你可以仔细看下相关资料.

请教WaitCommEvent的用法

不好意思,其实CommWatchProc函数中的以下几句是无用的,忘了删掉。

OVERLAPPED os;

memset(os,0,sizeof(OVERLAPPED));

// create I/O event used for overlapped read

os.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);

if(os.hEvent==NULL)

{ MessageBox(NULL,"Failed to create event for thread!","GPS Error!",MB_ICONEXCLAMATION and MB_OK);

return( FALSE);}

2.//建立监视串口的线程

//一般使用的顺序是:

//CreateGPSInfo(被通知的窗口句柄,串口端口号1或2);

//OpenConnection();建立联结它会调用SetupConnection

//DestroyGPSInfo();解除联结它会调用CloseConnection

//可以用ReadCommBlock/WriteCommBlock来读/写串口

//CommWatchProc是监视串口的线程,由OpenConnection建立

//当串口有数据来的时侯,它会通知'被通知的窗口句柄'的窗口数据传到的消息(自定义的)

//::SendMessage(hGPSWnd,RECEIVE_DATA,nLength,(LONG)(LPSTR)abIn);

LRESULT lReturn=CreateGPSInfo(m_hWnd,2);

ASSERT(lReturn!=(LRESULT)(-1));

if(lReturn==(LRESULT)(-1)){MessageBox(COM_INIT_ERROR,ERROR_TITLE);

return FALSE;}BOOL bReturn=OpenConnection();

ASSERT(bReturn);

if(!bReturn){MessageBox(COM_CONNECT_ERROR,ERROR_TITLE);

return FALSE;}

//自定义接收消息的处理函数

ON_MESSAGE(RECEIVE_DATA,OnReceiveData)

LONG CXXX::OnReceiveData(UINT nLength,LONG lpData){CString strReceiveData((LPSTR)lpData);

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

网站设计总结 网站设计实训总结携程数据库 携程网数据物理删除