19,500
社区成员
发帖
与我相关
我的任务
分享
HANDLE h_notify;
HANDLE h_Event;
bool b_started;
b_started = false;
h_notify = NULL;
void CNotificationDlg::Test_Thread(LPVOID lp)
{
CNotificationDlg* p_owner = (CNotificationDlg*)lp;
while(p_owner->b_started)
{
if(p_owner->h_Event != NULL)
{
TRACE(L"h_Event is not NULL\r\n");
if(WaitForSingleObject(p_owner->h_Event,INFINITE) == WAIT_OBJECT_0)
{
TRACE(L"TIME OK\r\n");
}else
TRACE(L"error\r\n");
}else
{
TRACE(L"h_Event is NULL\r\n");
}
}
}
void CNotificationDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
/* SYSTEMTIME curTime;
GetLocalTime(&curTime);
curTime.wMinute++;*/
CE_NOTIFICATION_TRIGGER trigger;
memset(&trigger, 0, sizeof(trigger));
trigger.dwSize = sizeof(CE_NOTIFICATION_TRIGGER);
trigger.dwType = CNT_EVENT;
// trigger.dwEvent = NOTIFICATION_EVENT_NET_DISCONNECT;
// trigger.dwEvent = NOTIFICATION_EVENT_NONE;
// trigger.dwEvent = NOTIFICATION_EVENT_TIME_CHANGE;
trigger.dwType = CNT_TIME ;
// trigger.dwEvent = NULL;
trigger.lpszApplication = _T("\\\\.\\Notifications\\NamedEvents\\MyTestEvent\0");
trigger.lpszArguments = NULL;
/* SYSTEMTIME curSysTime;
SYSTEMTIME endSysTime;
GetLocalTime(&curSysTime);
curSysTime.wMinute += 1;
endSysTime = curSysTime;
endSysTime.wMinute += 1;
// endSysTime.wYear += 10;*/
SYSTEMTIME old_SysTime, new_SysTime;
FILETIME old_FileTime, new_FileTime;
GetLocalTime(&old_SysTime);
SystemTimeToFileTime(&old_SysTime, &old_FileTime);
ULONG timeInterval = 70;
ULONGLONG interval = (((ULONGLONG)old_FileTime.dwHighDateTime) << 32) + old_FileTime.dwLowDateTime
+ ((ULONGLONG)timeInterval)*1000*10000; // 10秒以后执行应用
new_FileTime.dwHighDateTime = (DWORD)(interval >> 32);
new_FileTime.dwLowDateTime = (DWORD)(interval & 0xFFFFFFFF);[code=C/C++]
SYSTEMTIME st = {0};
CString tempppp;
CTime t = CTime::GetCurrentTime();
t.GetAsSystemTime(st);
tempppp.Format(L"%d-%d-%d\r\n",st.wHour,st.wMinute,st.wSecond);
TRACE(tempppp);
CTimeSpan diff(0, 0, 2, 10);
t += diff;
t.GetAsSystemTime(st);
tempppp.Format(L"%d-%d-%d\r\n",st.wHour,st.wMinute,st.wSecond);
TRACE(tempppp);
TCHAR szXmlPath[MAX_PATH] = {0};
xhGetExePath(szXmlPath);
_tcscat(szXmlPath, L"\\notify.exe");
BOOL m_btemp = CeRunAppAtTime(szXmlPath,&st);
if(m_btemp)
TRACE(L"CeRunAppAtTime success!\r\n");
else
TRACE(L"CeRunAppAtTime fail!\r\n");