非常感谢!
解决方法 除了入口点(“GUI”应用程序中的WinMain)之外,控制台应用程序和GUI应用程序之间没有任何区别,如果没有从控制台启动,控制台应用程序将在启动期间打开控制台窗口.所有Win32 API都可用,因此您需要使用GetOpenFileName调用,如下所示:
OPENfilename ofn;char *FilterSpec ="Object files(*.obj)*.objText files(*.txt)*.txtAll files(*.*)*.*";char *Title ="Open....";char szfilename[MAX_PATH];char szfileTitle[MAX_PATH];int Result;*szfilename = 0;*szfileTitle = 0;/* fill in non-variant fIElds of OPENfilename struct. */ofn.lStructSize = sizeof(OPENfilename);ofn.hwndOwner = GetFocus();ofn.lpstrFilter = FilterSpec;ofn.lpstrCustomFilter = NulL;ofn.nMaxCustFilter = 0;ofn.nFilterIndex = 0;ofn.lpstrfile = szfilename;ofn.nMaxfile = MAX_PATH;ofn.lpstrInitialDir = "."; // Initial directory.ofn.lpstrfileTitle = szfileTitle;ofn.nMaxfileTitle = MAX_PATH;ofn.lpstrTitle = Title;ofn.lpstrDefExt = default_extension;ofn.Flags = OFN_fileMUSTEXIST|OFN_HIDEReadonly;if (!Getopenfilename ((LPOPENfilename)&ofn)){ return (-1); // Failed or cancelled}else{ this->filename.Set(szfilename);}总结
以上是内存溢出为你收集整理的从Vis C控制台应用程序打开OpenDialog?全部内容,希望文章能够帮你解决从Vis C控制台应用程序打开OpenDialog?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)