GetOpenFileName()函数怎么用 本帖最后由 MarkZar 于 2011-11-19 14:12:59 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PEInfo::PEInfo(){ //Initilize related variable TCHAR* FilePathName = new TCHAR[MAX_PATH]; ZeroMemory(FilePathName,MAX_PATH); 为什么是:int main(){ PEInfo pe; pe.OpenAndMapFile(); cout << "All is OK." << endl;}工程类型不对 int main(){ PEInfo pe; pe.OpenAndMapFile(); cout << "All is OK." << endl;}函数要返回值啊,那个错误要Debug一下 OpenAndMapFile是UI工程用的你要用w32的:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) int main()函数也照样可以调用WinAPI,不论消息框,打开对话框都能调用,我以前试过的,你不信可以简单的试一下MessageBox,问题应该不在这 int main()函数也照样可以调用WinAPI,不论消息框,打开对话框都能调用,我以前试过的,你不信可以简单的试一下MessageBox,问题应该不在这对,在控制台程序中是可以调用win32api函数的,程序问题出在这里1. 在构造函数定义了和成员变量一样的名字 FilePathName ,使得误认为是成员变量FilePathName 被分配了内存PEInfo::PEInfo(){ //Initilize related variable FilePathName = new TCHAR[MAX_PATH]; //把 TCHAR* 去掉2。要想对话框出现还需要在构造函数里对FilePathName进行如下操作 memset(FilePathName,0,MAX_PATH); ’MessageBox‘ 在‘user32.lib’里’GetOpenFileName‘在‘comdlg32.lib.’里用main(控制台)可能是调不出来的 楼主可参考一下例子:#include <iostream>using namespace std;class test{public: test(); ~test(); int nCount;};test::test(){ int nCount=1; cout <<nCount<<endl; //输出test::test()函数的局部变量nCount cout <<this->nCount<<endl; //输出a对象的成员变量nCount}test::~test(){ cout <<"析构函数.\n";}int main(){ test a; return 0;} 试了试:// PEInfo.cpp: implementation of the CPEInfo class.////////////////////////////////////////////////////////////////////////#include "PEInfo.h"//////////////////////////////////////////////////////////////////////// Construction/Destruction//////////////////////////////////////////////////////////////////////CPEInfo::CPEInfo(){ TCHAR* FilePathName = new TCHAR[MAX_PATH];}CPEInfo::~CPEInfo(){}//void CPEInfo::OpenAndMapFile(){//OpenDialog OPENFILENAME ofn ; memset(&ofn, 0, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.lpstrFilter = _T("All Files\0*.*\0EXE Files\0*.exe\0Dll Files\0*.dll\0\0"); ofn.lpstrFile = FilePathName; ofn.nMaxFile = MAX_PATH; ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST; GetOpenFileName(&ofn);}//int main(){ CPEInfo pe; MessageBox(0,"haha","haha",MB_OK);//works ! pe.OpenAndMapFile();// "Unhandled Exception" return 0;} 如何用vc实现通过代理服务器获得网页的内容?在线等!!! 配置问题,人人有分 怎么样给控件添加调整边框? 小弟想学写一个驱动程序,各位高手请进来帮忙,谢谢了 放大后的锯齿问题解决问题 新手请多多指教 MFC中树控件读xml的问题 請教大俠:<<Windows 网络编程>> Qos debug 問題 ACTIVEX控件改写成XPCOM CButton中什么函数可以返回它自身的nID?? “kane_yj()”:你给我的那个API大全的下载地址打不开~~~~~~ error LNK2005 咋处理?? 想关闭一个进程,我用的是CListCtrl控件枚举进程,但是关闭不了,代码如下
{
//Initilize related variable
TCHAR* FilePathName = new TCHAR[MAX_PATH];
ZeroMemory(FilePathName,MAX_PATH);
int main()
{
PEInfo pe;
pe.OpenAndMapFile();
cout << "All is OK." << endl;
}
工程类型不对
{
PEInfo pe;
pe.OpenAndMapFile();
cout << "All is OK." << endl;}函数要返回值啊,那个错误要Debug一下
你要用w32的:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
1. 在构造函数定义了和成员变量一样的名字 FilePathName ,使得误认为是成员变量FilePathName 被分配了内存
PEInfo::PEInfo()
{
//Initilize related variable
FilePathName = new TCHAR[MAX_PATH]; //把 TCHAR* 去掉2。要想对话框出现还需要在构造函数里对FilePathName进行如下操作
memset(FilePathName,0,MAX_PATH);
’GetOpenFileName‘在‘comdlg32.lib.’里用main(控制台)可能是调不出来的
using namespace std;class test
{
public:
test();
~test();
int nCount;
};test::test()
{
int nCount=1;
cout <<nCount<<endl; //输出test::test()函数的局部变量nCount
cout <<this->nCount<<endl; //输出a对象的成员变量nCount
}test::~test()
{
cout <<"析构函数.\n";
}int main()
{
test a;
return 0;
}
// PEInfo.cpp: implementation of the CPEInfo class.
//
//////////////////////////////////////////////////////////////////////#include "PEInfo.h"//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////CPEInfo::CPEInfo()
{
TCHAR* FilePathName = new TCHAR[MAX_PATH];
}CPEInfo::~CPEInfo()
{}
//
void CPEInfo::OpenAndMapFile()
{
//OpenDialog
OPENFILENAME ofn ;
memset(&ofn, 0, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFilter = _T("All Files\0*.*\0EXE Files\0*.exe\0Dll Files\0*.dll\0\0");
ofn.lpstrFile = FilePathName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST;
GetOpenFileName(&ofn);
}
//
int main()
{
CPEInfo pe;
MessageBox(0,"haha","haha",MB_OK);//works !
pe.OpenAndMapFile();// "Unhandled Exception" return 0;
}