发布于 2005-08-04 16:15:29
0楼
MSG_RTDATA_STRUCT mRT;
int i;
char* pszToken;
#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);
SetTagBit("TAG",1); //Return - Type :BOOL
printf("alarm is on");
}
else
{
sndPlaySoundA(NULL,SND_ASYNC);
SetTagBit("TAG",0); //Return - Type :BOOL
printf("alarm is off");
}
}
return 0;
上面的程序是写在全局脚本里面,用500MS的时基监控这个程序,那个TAG(指示器)就是你要报警的变量啊
不懂就问!!!