(1) 写注册表,设置开机自动运行
HKEY sub;
char bufname[200];
::GetModuleFileName(NULL,bufname,200);
CString str;
str.Format("%s",bufname);
CString skey = "Software//Microsoft//Windows//CurrentVersion//Run";
::RegCreateKey(HKEY_LOCAL_MACHINE,skey,&sub);
if (m_autorun.GetCheck())
{
::RegSetValueEx(sub,"ArmyBugle",NULL,REG_SZ,(const BYTE*)str.GetBuffer(0),str.GetLength());
}
else
{
::RegDeleteValue(sub,"ArmyBugle");
}
::RegCloseKey(sub);
(2)TIMER事件和MDI设备处理,定时播放音乐
CTime tt;
tt = CTime::GetCurrentTime();
CString tmp = tt.Format("%H:%M");
if (tmp == strtime)
{
KillTimer(1);
MCIDEVICEID m_nDeviceID;
MCIDEVICEID m_nElementID;
MCI_OPEN_PARMS mciOpenParms;
mciOpenParms.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_WAIT,(DWORD)(LPVOID)&mciOpenParms);
m_nDeviceID = mciOpenParms.wDeviceID;
MCI_OPEN_PARMS mciOpen;
memset(&mciOpen,0,sizeof(MCI_OPEN_PARMS));
mciOpen.lpstrElementName = strsound;
mciSendCommand(m_nDeviceID,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpen);
m_nElementID = mciOpen.wDeviceID;
MCI_PLAY_PARMS mciPlay;
mciPlay.dwCallback = (DWORD)this->GetSafeHwnd();
mciSendCommand(m_nElementID,MCI_PLAY,MCI_NOTIFY,(DWORD)(LPVOID)&mciPlay);
//SetTimer(1,10000,NULL); //delete 0515
}
CDialog::OnTimer(nIDEvent);