捕获和停止用于保存文件的Windows消息

时间:2014-03-27 12:38:08

标签: windows

我有以下情况。

第三方“保存文件”选项有两个“格式”选项。一个是“ .abc”而另一个是“。*”。

这意味着用户可以像“Notepad.exe”一样保存任何格式

我知道如何处理软件主窗口以及“另存为”窗口和“保存按钮。”

我的要求是,当用户点击“保存”按钮时。我想检查一下它保存的格式。如果它是“ .abc”,即使选择“。*”,我也希望允许其他方式显示“Not Permitted”消息。

我正在使用VC ++ 2010,据我所知,我必须使用“PreTranslatemessage”

我可以找到以下示例来禁用文本框....

BOOL CMyDialog:: PreTranslateMessage(MSG* pMsg)
{
//m_MyEditBox - read only edit box
if(m_MyEditBox.m_hWnd == pMsg->hwnd)
{
  if(pMsg->message == WM_KEYDOWN)
  {
     //Nullifying the WM_KEYDOWN message
     pMsg->wParam=NULL ;
  }
}

return CDialog:: PreTranslateMessage(pMsg);

如何捕获并停止保存其他格式。我将使Windows服务连续运行。将确保当服务停止时,软件也将关闭,以便实现我的目的。

除了保存按钮点击并显示“不允许”消息之外,我可以执行除捕获Windows消息的主要任务之外的所有其他操作。

请指导。

0 个答案:

没有答案