C++程序怎么使用ShellExecute,最好有一个简单的小程序做例子,比如打开文本文档啥的
2个回答
展开全部
#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCamdShow)
{
OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = TEXT('\0');
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1; //如果改为2的话就会显示txt格式虚大的文件。
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
ShellExecute(NULL,"open",ofn.lpstrFile,NULL,NULL,SW_SHOWNORMAL);//第三个参数是要打开的文件的路径,在你打开的时候自动生成并传给函数,再以open的方式打开,态察打开的方式将以你差闭竖电脑系统对该类型文件的打开方式有关。
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCamdShow)
{
OPENFILENAME ofn;
char szFile[MAX_PATH];
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = TEXT('\0');
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1; //如果改为2的话就会显示txt格式虚大的文件。
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
ShellExecute(NULL,"open",ofn.lpstrFile,NULL,NULL,SW_SHOWNORMAL);//第三个参数是要打开的文件的路径,在你打开的时候自动生成并传给函数,再以open的方式打开,态察打开的方式将以你差闭竖电脑系统对该类型文件的打开方式有关。
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询