2 vivian763873687 Vivian763873687 于 2014.09.17 08:58 提问

winmain()向InitInstance()的转换

有一个程序入口是API函数winmain(),想转换成MFC中的InitInstance(),应该怎么获取winmain()的四个参数?
HINSTANCE hinst,HINSTANCE prehinst,LPSTR p,INT ShowCmd
如果直接把winmain()函数体粘贴进InitInstance(),会说变量未定义,如果在InitInstance()里申明变量,会说定义不清。请问,如果能够获取上述四个参数,是不是就能运行了?

1个回答

VisualEleven
VisualEleven   Ds   Rxr 2014.11.05 15:46

CWinApp类的成员变量,具体参考MSDN文档
m_hInstance
m_lpCmdLine
m_nCmdShow

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
AfxWinMain中pThread->InitInstance()出错的解决方法
最近在写程序时,在Debug下能正常运行,但是换到Release下就报一个中断错误:“0x71ea1cbc(mfc100.dll) 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突”,并且,错误箭头指到了winmain.cpp文件中AfxWinMain函数内的if (!pThread->InitInstance())语句,经过分析是pThread为NULL,
为什么mfc中从InitInstance()中进入程序
学过PE文件格式,你就明白,程序在进入WinMain之前要做很多事情,比如初始Dos头,分配函数表,初始化全局变量。之后才进入程序入口(WinMain) MFC对WindowsAPI进行了封装。在用向导编译成的二进时代码,MFC编译器链接器把源文件编译成PE文件格式存储在磁盘上。 程序执行的时候,从PE文件头开始执行,在进入Winmain函数之前,进行一系列的必备的初始化。 MFC对这一系列
_tWinMain 与wWinMain 区别
_tWinMain 与wWinMain 区别(转) MFC封装了WIN API.大家都知道.但是MFC应用程序的真正流程又有多少人知道呢?  下面就是我对MFC启动代码的一些剖析. 在TCHAR.H里,有这么2小段define.通过我的简化,我们可以看到: //TCHAR.H  #ifdef _UNICODE  #define _tWinMain wWinMain  #els
CWinApp中的InitInstance()
initInstance是WinMain调用的第一个函数,用于创立程序。InitInstance基本上只创建程序窗口。这个函数的代码本可直接插入到WinMain中,但将它们放到单独的函数中会更方便(这与多实例的处理有关,因为一个程序可能会多次运行)。注意,InitInstance不是一个像WinMain那样的基本Windows函数,而只是一个“助手”函数。实例句柄是一个程序中使用的全局变量,用于保
BOOL CtmpMFCApp::InitInstance() {vs2010
BOOL CtmpMFCApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSiz
VC InitInstance函数
VC InitInstance函数 BOOL InitInstance()为什么说它是程序的进入点?还有,那个WinMain函数又有什么作用,这两个函数之间有什么关系吗? BOOL InitInstance()是MFC的CWinApp类的成员函数,而WinMain才是真正的入口点,但是MFC不允许程序中有WinMain这个函数,因为MFC自己编写了WinMain函数,如果程序中再定义就重复
从Win32程序的主函数WinMain中获取命令行参数
在标准C或者Win32控制台程序的main函数中,它们都有两个参数:"argc" 和 "argv",如下所示: int main(int argc, char * argv[]) 这些参数帮助我们为程序传入命令行参数。"argc"为命令行参数的个数,"argv"则为传入参数的数组列表。但是当我们在Visual Studio中创建Win32 GUI程序的时候,WinMain变成程序的入口
MFC中的InitApplication和InitInstance函数解析
简要的介绍了在MFC中对窗口初始化其决定性作用的两个函数InitApplication和InitInstance。通过掌握这两个函数的基本原理,来进一步深入了解MFC的内部机制。
不要在dll及ocx的CXXXApp::InitInstance中调用创建线程及关闭线程的操作
问题: 写了个ocx控件,然后在ocx控件注册时注册成功了,但regsvr32还在进程管理器中。 分析后发现在注册ocx控件时,ocx控件的代码CXXXApp::InitInstance会被调用,注册完后CXXXApp::ExitInstance会被调用。 由于在ExitInstance中调用退出线程,并等待线程退出的代码,死锁了,所以regsvr32卡死在进程管理器了。 条件1:
在CWinApp::InitInstance中接收消息
1.线程接收消息是被动的,线程不能主动从消息队列中取消息,而是系统发给线程的。2.线程接收的消息与GetMessage或PeekMessage的参数hWnd有关,系统发送与hWnd有关的消息给进程。若 hWnd为空,线程接收调用此线程的线程发送的发送给任何窗体的消息,还有其它线程使用SendMessage或PostMessage发送给此线程的消息。3,线程调用与消息有关的函数时,线程的消息