VC++无效化控制台窗口的关闭按钮

    技术2022-05-20  46

    VC++无效化控制台窗口的关闭按钮 2009-03-21 18:09

    ——————— 【 转载请保留 】 ———————

    作者:Defanive博客:Console.Dec.Cn(Hi.Baidu.Com/Console_App)

    ——————— 【 谢谢合作 】 ———————

    类型:原创时间:09.03.21测试环境:VC++ 6.0

     

     

    批处理执行到一半就被强行关闭,实在是令编写者不爽的事情。本教程就是让大家学会,如何在控制台程序中无效化关闭按钮。同样,通过小改小动,也可以写出属于自己的第三方工具,让批处理调用后达到无效化关闭按钮的效果。

    关闭按钮,是在系统菜单中的。通过API函数EnableMenuItem可以给关闭按钮加上多种效果,包括无效化和灰化。

    EnableMenuItem需要得到菜单的句柄,这就需要用到API函数GetSystenMenu。GetSystemMenu可以给出指定窗口的系统菜单。

    接下来,只需要获得控制台窗口的句柄了。可以参考文章:【 VC++ 】 获取控制台窗口的句柄(hWnd)

    那么,控制台窗口的句柄为hw的话,将关闭按钮无效化的完整代码为:

    HMENU hMenu;hMenu=GetSystemMenu(hw,false);EnableMenuItem(hMenu,SC_CLOSE,MF_GRAYED|MF_BYCOMMAND);

    同理,还可以将窗口的其他属性灰化和无效化。

    范例下载地址:http://www.qupan.com/down/defanive_3030866.html

     

     

    ——————— 【 转载请保留 】 ———————

    作者:Defanive博客:Console.Dec.Cn(Hi.Baidu.Com/Console_App)

    ——————— 【 谢谢合作 】 ———————


    最新回复(0)