发表于:2007/12/12 9:11:00
#0楼
我在WINCC全局动作里新建了一个动作,时基2S,程序如下:
请问为什么运行在我的机器上没有报警,而在别人的机器上就可以发声,是WINCC需要设置什么吗还是怎么回事?请大家帮帮我啊
#include "apdefap.h"
int gscAction( void )
{
MSG_RTDATA_STRUCT mRT;
int i;
DWORD y;
char* pszToken;
#pragma code("Winmm.dll")
//sound output function
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;
//inquire number of unacknowledged alarm message
n1=MSRTGetMsgQuit(&alarmunack,errorunack);
SetTagDWord("number",alarmunack);
//inquire number of messages queued in the message list
MSRTGetMsgActual(&alarmsum,errorsum);
SetTagDWord("sum",alarmsum);
if (GetTagBit("Alarm_Stop")==1)
{
sndPlaySoundA(NULL,SND_ASYNC);
else
{
if (alarmunack>0)
{sndPlaySoundA("C:\\windows\\media\\Ringin.wav",SND_ASYNC|SND_LOOP);
else
{ sndPlaySoundA(NULL,SND_ASYNC);
}
return 1;
}
请问为什么运行在我的机器上没有报警,而在别人的机器上就可以发声,是WINCC需要设置什么吗还是怎么回事?请大家帮帮我啊
#include "apdefap.h"
int gscAction( void )
{
MSG_RTDATA_STRUCT mRT;
int i;
DWORD y;
char* pszToken;
#pragma code("Winmm.dll")
//sound output function
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;
//inquire number of unacknowledged alarm message
n1=MSRTGetMsgQuit(&alarmunack,errorunack);
SetTagDWord("number",alarmunack);
//inquire number of messages queued in the message list
MSRTGetMsgActual(&alarmsum,errorsum);
SetTagDWord("sum",alarmsum);
if (GetTagBit("Alarm_Stop")==1)
{
sndPlaySoundA(NULL,SND_ASYNC);
else
{
if (alarmunack>0)
{sndPlaySoundA("C:\\windows\\media\\Ringin.wav",SND_ASYNC|SND_LOOP);
else
{ sndPlaySoundA(NULL,SND_ASYNC);
}
return 1;
}