给WINCC5.1添加报警声音,刚接触这个不太懂,从网上找到了一段代码
#include "apdefap.h"
int gscAction( void )
{
MSG_RTDATA_STRUCT mRT;
int i;
char* pszToken;
//Now is my code
#pragma code("Winmm.dll")
BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);
#pragma code()
DWORD SND_ASYNC=0x0001;
DWORD SND_LOOP=0x0008;
DWORD alarmsum,alarmunack;
LPCMN_ERROR errorunack,errorsum;
#pragma code("msrtcli.dll")
#pragma code()
LPDWORD lpdwServiceID;
MSG_SERVICE_NOTIFY_PROC lpfnNotifyProc;
LPMSG_FILTER_STRUCT lpMsgFilter;
DWORD dwNotifyMask;
LPVOID lpvUser;
LPCMN_ERROR lpError;
BOOL n1;
n1=MSRTGetMsgQuit(&alarmunack,errorunack);
SetTagDWord("number",alarmunack);
MSRTGetMsgActual(&alarmsum,errorsum);
SetTagDWord("sum",alarmsum);
if (alarmsum==0)
sndPlaySoundA(NULL,SND_ASYNC);
else
{
if (alarmunack>0)
sndPlaySoundA("C:Program FilesWindows NTPinballSOUND36.WAV",SND_ASYNCSND_LOOP);
else
sndPlaySoundA(NULL,SND_ASYNC);
}
return 1;
}
这段代码在有从首个报警就会报警,可是声音在报警消除后还是不停的响,怎么都处理不了,还有哪位能帮帮忙解释下上面那段代码,中间有很多的声明的变量搞不清楚,谢谢了,
我想做的就是在有报警时,报警的声音会响,没有了声音就自动关闭了。
请各位指点!谢谢了