1、OnOK()或OnCancel()//只对窗口程序有用
2、PostQuitMessage(0);//最常用
3、ExitProcess(0);
4、
void CMainFrame::OnClose()
{
// TODO: Add your message handler code here and/or call default
if (MessageBox("确定要退出吗?","提示",MB_YESNO|MB_DEFBUTTON2)==IDYES)
{
CFrameWnd::OnClose();
}
}
如:
void CCsView::OnShutdown() //自定义
{
// TODO: Add your command handler code here
if (MessageBox("确定要退出吗?","提示",MB_YESNO|MB_DEFBUTTON2)==IDYES)
{
PostQuitMessage(0);
}
}
举个例子,我要做一个软件,所以新建一个单文档的应用程序,但是想让用户先进行登陆,所以添加了一个登陆对话框(双击对话框添加新类等就不提了),然后,在APP类中的适当位置进行对话框的显示,并判断(不进行具体的实现了,只是检验一下单击了确定还是取消按钮),如果点击了"确定"就进入主界面,如果点击了取消就立即终止程序.
CLgnDlg lgndlg;
if(IDOK==lgndlg.DoModal())
{
}
else
{
//PostQuitMessage(0);
//((CMainFrame*)AfxGetMainWnd())->SendMessage(WM_CLOSE);
ExitProcess(0);
}
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTestBDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CTestBView));
AddDocTemplate(pDocTemplate);
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
转载声明:本文转自http://wmnmtm.blog.163.com/blog/static/38245714200971710310139/
====================================================================
相关推荐
我现在用VC6做了个关闭假死后的程序的东东,并且在关闭前可以保存数据,相信对大家很有用。 在此公布源码!!!!,不过放到VC2008中同样的代码在调试时可以获取VC6的进程句柄,但在点击EXE运行时却无法获得句柄了...
在使用Microsoft Visual C++ 6.0(简称VC6.0)进行开发时,有时会遇到在Debug模式下运行程序后,程序无法正常退出的问题。这种情况可能会对开发过程造成困扰,因为不能有效地测试和调试代码。针对“vc6.0 debug下...
标题中的“VC6程序无法退出_插件补丁”指的是在使用Visual C++ 6.0(简称VC6)开发的程序在Windows 7 64位系统上运行时,遇到程序无法正常退出的问题。这可能是因为某些系统兼容性问题或者VC6自身存在的bug导致的。...
在VC(Visual C++)环境中,程序的退出并不总是那么简单,尤其是当你需要强制结束一个进程时。本篇文章将深入探讨如何通过命令行来实现这个功能,主要关注“用命令使程序退出的VC程序”这一主题。 首先,我们需要...
在64位Windows 7操作系统上使用Visual C++ 6.0(简称VC6)进行程序开发时,可能会遇到一个常见的问题:当调试结束后,程序的进程无法正常退出,其窗口图标仍然显示在任务栏中,无法通过点击关闭按钮来结束程序运行。...
描述中提到,存在一个插件可以解决这个问题,使得在64位Windows 7环境下,开发者能够在调试结束后顺利退出程序。这表明尽管VC6.0原生功能可能不足以适应64位系统的需求,但通过第三方工具或扩展,用户仍然能够克服这...
### VC屏蔽Enter和ESC退出程序知识点详解 #### 标题:VC屏蔽Enter和ESC退出程序 在编程领域,特别是对于使用Visual C++ (VC) 开发的应用程序来说,有时候我们可能希望用户不能通过简单的按键操作(如按下Enter或...
在本文中,我们将深入探讨如何使用C/C++在Windows平台上创建服务程序,特别是基于Visual C++(VC)的实现。Windows服务是一种特殊的后台应用程序,它可以在用户登录或未登录时运行,提供持续的系统功能。这里提供的...
在使用Microsoft Visual C++ 6.0(简称VC6)这款经典的开发工具在64位Windows 7系统上进行程序调试时,有时会遇到一个棘手的问题:在完成调试后,程序无法正常退出。这个问题主要涉及到32位应用程序在64位操作系统上...
调试过程中点击终止调试图标,vc6可以退出调试状态,但是控制台程序并未关闭。该进程不能被结束,即使我使用任务管理器,也不可以。这时如果我再次调试,任务栏上会留下两个这样的图标,这两个进程都可以在任务管理器...
总结来说,"VC控制程序只运行一次效果"的实现涉及系统级别的同步原语,如互斥量、信号量或注册表、文件映射等机制,通过这些机制确保程序在多用户环境下的唯一实例性。了解并掌握这些技术对于编写高效、稳定的多进程...
在win7下安装vc++6.0后,调试程序时,会出现程序无法退出的情况。甚至在windows的资源管理器强行退出也不行。只有将vc++6.0退出后,调试的应用程序才能退出。非常不方便。本插件很好的解决了这个问题
其次,定时器的使用是控制屏幕保护程序启动和退出的关键。在VC6.0中,可以使用`SetTimer`函数设置一个定时事件,当达到预设时间间隔时,触发特定的事件,如启动屏幕保护。同时,还需要响应定时器消息(如`WM_TIMER`...
【VC托盘程序源码】是一个使用Microsoft Visual C++(简称VC)开发的MFC(Microsoft Foundation Classes)应用程序,它的核心功能是将程序窗口最小化到系统托盘区域。MFC是微软提供的一套C++类库,它封装了Windows ...
【在VC6上编写C程序】的详细指南 在计算机编程的世界中,C语言一直以其简洁和高效著称。尽管有更多现代化的开发环境出现,如Visual Studio的更新版本,但许多开发者和初学者仍然钟情于使用Visual C++ 6.0(简称VC6...