技术论坛

 回复:WINCC的声音报警

返回主题列表
作者 主题
lnf
侠客

经验值:712
发帖数:150
精华帖:0
楼主    2004-02-23 07:48:06
主题:WINCC的声音报警
请教:有没有人做过上位机通过WINCC控件做外部声音报警?请指教一二。
kkkgo123
游士

经验值:242
发帖数:59
精华帖:1
    2004-02-23 12:11:50
精华帖  主题:回复:WINCC的声音报警
在全局脚本里面新建一个循环的东东,可以设置 2s,代码如下

#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 Files\\Windows NT\\Pinball\\SOUND36.WAV",SND_ASYNCSND_LOOP);
else
sndPlaySoundA(NULL,SND_ASYNC);

//sndPlaySoundA("C:\\windows\\media\\office97\\laser.wav",SND_ASYNCSND_LOOP);


}

return 1;
}
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。