MFC:通过发布消息触发菜单操作需要什么?

MFC: what is needed to trigger menu action by posting message?

我有一个与功能相关的菜单项。

BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
    ON_COMMAND(ID_FILE_ACTION, &CMyDoc::OnFileAction)

在我的代码中的某处,我尝试通过发布

之类的消息来 运行 此功能
AfxGetMainWnd()->PostMessage(WM_COMMAND, 0, ID_FILE_ACTION);

但是没有任何反应。

WM_COMMAND message 的菜单项 ID 在 wParamlow word 中,不在 lParam! (并且 lParam 应该为零。)所以,试试这个:

    AfxGetMainWnd()->PostMessage(WM_COMMAND, MAKEWPARAM(ID_FILE_ACTION, 0), 0);