如何禁用任务栏中的“关闭窗口”选项?

时间:2013-11-17 16:24:34

标签: c winapi mingw32

http://img593.imageshack.us/img593/8732/taskbarclosewindow.png

如何编写C代码以禁用任务栏中的“关闭窗口”选项?

编译器:GCC-mingw32

我应该使用哪种API函数?

感谢。

1 个答案:

答案 0 :(得分:0)

让窗口的邮件调度程序处理邮件WM_SYSCOMMAND并在邮件wParamSC_CLOSE时对其进行过滤。

WndProc成为Windows消息处理程序,然后要执行的代码可能如下所示:

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  ...

  switch (message)
  {
    case WM_SYSCOMMAND:
     if (wParam == SC_CLOSE);
       break;

     return DefWindowProc(hWnd, message, wParam, lParam);  

    case ...

  }

  return 0;
}

从应用程序的跳转列表(其任务栏的本地菜单)中删除“关闭”菜单项,但禁用其功能。