- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AfxWinInit
AfxWinInit
BOOL AFXAPI AfxWinInit( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine,
int nCmdShow
);
参数: hInstance 当前运行模块的句柄。
hPrevInstance 应用程序前一个实例的句柄。对于基于 Win32 的应用程序,这个参数总是 N ULL。
lpCmdLine 指向一个以 null 结尾的字符串,指定了应用程序的命令行。nCmdShow 指定了 GUI 应用程序的主窗口将如何显示。
说明:
这个函数是由 MFC 提供的 WinMain 函数调用的,它是基于 GUI 的应用程序的 CWinApp 初始化的一部分,主要用来初始化 MFC。对于控制台应用程序,不使用 MFC 提供的 WinMai n 函数,你必须直接调用 AfxWinInit 来初始化 MFC。
如果你自己调用 AfxWinInit,你必须声明一个 CWinApp 类的实例。对于控制台应用程序, 你可以选择不从 CWinApp 基础你自己的类,而是直接使用 CWinApp 的实例。如果你决定在你的 main 函数的实现中将所有的工作留给你的应用程序,这样做是可以的。
例子程序 TEAR 演示了如何用 MFC 生成一个控制台应用程序。
示例:
// this file must be compiled with the /GX and /MT options:
// cl /GX /MT thisfile.cpp
#include afx.h #include afxdb.h #include iostream.h
int main()
{
// try to initialize MFC
if(!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
cerr MFC failed to initialize! endl; return 1;
}
// 试图与并不存在的 ODBC 数据库连接
// (如果不初始化 MFC,这根本不会起作用。)
CDatabase db; try
{
db.Open(This Databsae Doesnt Exist);
// 我们不会真正到达这里。
cout Successful! endl; cout Closing ... ; db.Close();
cout Closed! endl;
}
catch(CDBException* pEx)
{
// 我们到达了一个异常。输出错误信息。
// (如果不初始化 MFC,这根本不会起作用。) char sz[1024];
cout Error: ;
if(pEx-GetErrorMessage(sz, 1024)) cout sz; else cout No error message was available; cout endl;
pEx-Delete(); return 1;
}
return 0;
}
文档评论(0)