MFC 关于系统时间获取
程序员文章站
2022-05-24 12:30:06
...
关于MFC 创建获取系统当前时间,自动运行例子:
- // 构造函数中添加
public:
C串口通讯Dlg(CWnd* pParent = NULL); // 标准构造函数
void ThreadRun();//时间自动添加函数
static UINT ThreadTimer(LPVOID pParam);
HANDLE m_ThreadKill;
HANDLE m_ThreadKillCheck;
- 在主程序的初始化函数中添加
BOOL C串口通讯Dlg::OnInitDialog()
{
//获取系统当前时间
CString strTime;
CString filename;
CTime tm;
tm = CTime::GetCurrentTime(); //获取当前系统时间
strTime = tm.Format("%Y-%m-%d %H:%M:%S"); //格式化系统时间。
tt = tm.Format("%d");
SetDlgItemText(IDC_EDIT3, strTime);
/
m_ThreadKill = CreateEvent(NULL, TRUE, FALSE, NULL);
m_ThreadKillCheck = CreateEvent(NULL, TRUE, FALSE, NULL);
::AfxBeginThread(ThreadTimer, LPVOID(this), THREAD_PRIORITY_HIGHEST);
}
3. 添加功能函数中的代码:
UINT C串口通讯Dlg::ThreadTimer(LPVOID pParam)
{
C串口通讯Dlg *pThis = (C串口通讯Dlg*)pParam;
pThis->ThreadRun();
return 0;
}
void C串口通讯Dlg::ThreadRun()
{
::SetThreadIdealProcessor(::GetCurrentThread(), 0);
::ResetEvent(m_ThreadKill);
::ResetEvent(m_ThreadKillCheck);
while (true)
{
DWORD dwEvent = ::WaitForSingleObject(m_ThreadKill, 1000); //1000ms Sleep
if (dwEvent != WAIT_TIMEOUT)
break;
CTime tm;
CString strTime;
tm = CTime::GetCurrentTime(); //获取当前系统时间
strTime = tm.Format("%Y-%m-%d %H:%M:%S"); //格式化系统时间。
SetDlgItemText(IDC_EDIT3, strTime);
}
::SetEvent(m_ThreadKillCheck);
}
实现功能的图片:
上一篇: 获取文件最后写入时间