给定一个 wparam,我如何确定这是不是是 MFC 应用程序中的 File->Exit 命令?
Posted
技术标签:
【中文标题】给定一个 wparam,我如何确定这是不是是 MFC 应用程序中的 File->Exit 命令?【英文标题】:Given a wparam, how can I determine if that is the File->Exit command in an MFC app?给定一个 wparam,我如何确定这是否是 MFC 应用程序中的 File->Exit 命令? 【发布时间】:2012-03-26 21:00:02 【问题描述】:在 MFC 中的某个地方是否有一个已定义的常量,它是 File->Exit 菜单命令的标准定义?我正在尝试确定一个命令是否是那个命令,但我只有一个 WPARAM 可以使用。
【问题讨论】:
如果你有 wParam,你有一个消息。是哪条消息? WM_QUIT? 【参考方案1】:APP_EXIT(57665 或 0xE141)按命令发送到 appcore.cpp 中声明的消息映射(或者如果您在 CWinApp 派生类中覆盖它);
BEGIN_MESSAGE_MAP(CWinApp, CCmdTarget)
ON_COMMAND(ID_APP_EXIT, &CWinApp::OnAppExit)
END_MESSAGE_MAP()
反过来,OnAppExit 向 CWinApp 中的主窗口发送 WM_CLOSE 消息:
void CWinApp::OnAppExit()
// same as double-clicking on main window close box
ASSERT(m_pMainWnd != NULL);
m_pMainWnd->SendMessage(WM_CLOSE);
这就是您的应用程序在 MFC 中的结束方式,而不是 WM_QUIT。
【讨论】:
以上是关于给定一个 wparam,我如何确定这是不是是 MFC 应用程序中的 File->Exit 命令?的主要内容,如果未能解决你的问题,请参考以下文章
给定一个线程 id,如何确定它是不是仍在 Windows 上运行