MFC对话框点击右上角×和退出button没法关闭窗体,反而程序中断

MFC对话框点击右上角×和退出button没法关闭窗体,反而程序中断,第1张

点击后它本蔽塌来就会销并键调用

afx_msg void OnBnClickedCancel()

CDialogEx::OnCancel()

写亏巧回就好了

如果是防止空格和Enter退出程序,

用preTranslateMessage函数对键盘的Enter和空格键按下的消息进行拦截!

解决方法:

打开控制台后,用FindWindowA 燃缺找到新打开的控制台窗口, 并调用 RemoveMenu 将州段圆系统菜单中的 关闭菜单去掉.

这样,用户就册塌不能通过 该按钮或通过系统菜单关闭控制台了.

在需要关闭控制台时,调用 FreeConsole .

//下面的函数供参考

BOOL  WINAPI DisableCloseMenu()

{

char oldTitle[100]

char newTitle[100]

GetConsoleTitleA(oldTitle ,100)

sprintf_s( newTitle,"%d-%d",GetTickCount(),GetCurrentProcessId())

SetConsoleTitleA(newTitle)

Sleep(100)

HWND hWnd =FindWindowA(NULL, newTitle)

SetConsoleTitleA(oldTitle)

if( hWnd )

{

HMENU h_Menu = GetSystemMenu( hWnd, FALSE)

if( h_Menu )

{

return RemoveMenu( h_Menu, 0xF060, 0)

//return ::EnableMenuItem( h_Menu, 0xF060, FALSE )

}

}

return FALSE

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12531540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存