::OPENFILENAME file={0};
WCHAR FileName[MAX_PATH]={0};
file.lStructSize=sizeof(file);
file.hwndOwner=hWnd;
file.lpstrFile=FileName;
file.nMaxFile=sizeof(FileName);
file.nFilterIndex=1;
file.Flags=OFN_ALLOWMULTISELECT|OFN_EXPLORER;
file.lpstrFilter=_T("TextFiles(*.txt)\0*.txt\0AllFiles\0*.*\0\0");
::GetOpenFileName(&file);
7 个解决方案
#1
重新创建了一个win32的工程,使用静态MFC的库,重新编译就没有问题了;不知道啥子原因,
刚开始创建的是控制台的应用程序,难道控制台的程序不支持多线程?
还有一个问题,就是在选择win32项目的时候,MFC的复选框是灰的,选不上,编译的时候通不过,
选者使用静态MFC,编译通过了,运行出错;这时在选择使用Windows标准库,编译也能通过,运行
也没有问题。搞不懂为什么;
刚开始创建的是控制台的应用程序,难道控制台的程序不支持多线程?
还有一个问题,就是在选择win32项目的时候,MFC的复选框是灰的,选不上,编译的时候通不过,
选者使用静态MFC,编译通过了,运行出错;这时在选择使用Windows标准库,编译也能通过,运行
也没有问题。搞不懂为什么;
#2
除非你真的知道原理,
你开发的win32程序中不要用任何MFC相关的东西,只能用纯API式的调用才行。实在要面向对象一类的技术,可以用原生的C++/COM/ATL接口。
你开发的win32程序中不要用任何MFC相关的东西,只能用纯API式的调用才行。实在要面向对象一类的技术,可以用原生的C++/COM/ATL接口。
#3
MFC模块在加载和退出时要做联合初始化和清退的。这些工作你用win32的话都没有去做。如果手工去做的话又没法保证版本兼容。
#4
等了3天了,就你够朋友,十分感谢
还有个问题:如何去掉,控制台程序的黑框?子系统改为Windows的话,也有上面的问题,线程不能退出
还有个问题:如何去掉,控制台程序的黑框?子系统改为Windows的话,也有上面的问题,线程不能退出
#5
你是不是在主线程中exitthread了?
用exitprocess或winmain函数返回.
很多windows函数会开启线程的.
用exitprocess或winmain函数返回.
很多windows函数会开启线程的.
#6
不要用MFC吧。。。非要用的话就整个工程都用MFC写。
MFC的exe调用win32的dll是可以的;反过来则不行;
不要黑框的话,改用winmain作主函数,而不是main。
windows子系统的可以另外开黑框的,也可以不开;但是用main的话一开始就会有黑框。
#7
嗯,谢谢,学习了
#1
重新创建了一个win32的工程,使用静态MFC的库,重新编译就没有问题了;不知道啥子原因,
刚开始创建的是控制台的应用程序,难道控制台的程序不支持多线程?
还有一个问题,就是在选择win32项目的时候,MFC的复选框是灰的,选不上,编译的时候通不过,
选者使用静态MFC,编译通过了,运行出错;这时在选择使用Windows标准库,编译也能通过,运行
也没有问题。搞不懂为什么;
刚开始创建的是控制台的应用程序,难道控制台的程序不支持多线程?
还有一个问题,就是在选择win32项目的时候,MFC的复选框是灰的,选不上,编译的时候通不过,
选者使用静态MFC,编译通过了,运行出错;这时在选择使用Windows标准库,编译也能通过,运行
也没有问题。搞不懂为什么;
#2
除非你真的知道原理,
你开发的win32程序中不要用任何MFC相关的东西,只能用纯API式的调用才行。实在要面向对象一类的技术,可以用原生的C++/COM/ATL接口。
你开发的win32程序中不要用任何MFC相关的东西,只能用纯API式的调用才行。实在要面向对象一类的技术,可以用原生的C++/COM/ATL接口。
#3
MFC模块在加载和退出时要做联合初始化和清退的。这些工作你用win32的话都没有去做。如果手工去做的话又没法保证版本兼容。
#4
等了3天了,就你够朋友,十分感谢
还有个问题:如何去掉,控制台程序的黑框?子系统改为Windows的话,也有上面的问题,线程不能退出
还有个问题:如何去掉,控制台程序的黑框?子系统改为Windows的话,也有上面的问题,线程不能退出
#5
你是不是在主线程中exitthread了?
用exitprocess或winmain函数返回.
很多windows函数会开启线程的.
用exitprocess或winmain函数返回.
很多windows函数会开启线程的.
#6
不要用MFC吧。。。非要用的话就整个工程都用MFC写。
MFC的exe调用win32的dll是可以的;反过来则不行;
不要黑框的话,改用winmain作主函数,而不是main。
windows子系统的可以另外开黑框的,也可以不开;但是用main的话一开始就会有黑框。
#7
嗯,谢谢,学习了