用以下代码执行notepad打开一个txt文件
char sCmdLine[150];
char sSystemPath[MAX_PATH];
CString SText; GetWindowsDirectory(sSystemPath, MAX_PATH);//获取windows目录,如:c:\windows
   SText.Format("%s\\notepad.exe %s", sSystemPath, m_SFileName);//执行notepad.exe
strcpy(sCmdLine, SText);
WinExec(sCmdLine, SW_SHOWDEFAULT); 还可以使用
ShellExecute(NULL,"open","iloveu.bmp",NULL,NULL,SW_SHOWNORMAL);
用缺省的位图编辑器打开一个叫iloveu.bmp的位图文件,这个缺省的位图编辑器可能是Microsoft Paint, Adobe Photoshop, 或者 Corel PhotoPaint。    有关ShellExecute的详细用法信息自己去参考有关资料吧,重要的是你知道了这个函数能打开任何文件,甚至是桌面和URL快捷方式( .ink或 .url)。ShellExecute解析系统注册表HKEY_CLASSES_ROOT中所有的内容,判断启动那一个执行程序,并且启动一个新的实例或使用DDE将文件名连到一打开的实例。然后,ShellExecute 返回打开文件的应用的实例句柄。更奇妙的是ShellExecute不仅能打开机器上的文件,还能打开Internet的站点地址。例如:ShellExecute(NULL, "open", "http://www.microsoft.com", NULL, NULL, SW_SHOWNORMAL);  
这个代码使你能访问微软的主页。当ShellExecute遇到文件名前面的“http:”时,可以判断出要打开的文件是Web文件,随之启动Internet Explorer 或者 Netscape Navigator 或者任何你使用的别的浏览器打开文件。ShellExecute还能识别其它协议,象FTP、GOPHER。甚至识别“mailto”,如果文件名指向“mailto:[email protected]”,它启动电子邮件程序并打开一个待编辑的新邮件。总之,ShellExecute函数就是如此简单地打开磁盘文件和Internet文件。如果将第二个参数“OPEN”改为“PRINT”或者“EXPLORE”,ShellExecute将能打印文件和打开文件夹。ShellExecute还有一个扩展函数ShellExecuteEx,所带参数中有一个特殊的结构,功能更强,它的用法参见有关文档。

解决方案 »

  1.   

    HINSTANCE ShellExecute(
        HWND hwnd, 
        LPCTSTR lpVerb,
        LPCTSTR lpFile, 
        LPCTSTR lpParameters, 
        LPCTSTR lpDirectory,
        INT nShowCmd
    );hwnd :父窗口句柄
    lpVerb :命令动词,如open find edit print properties
    lpFile :指向要执行的程序的指针
    lpParameters :执行程序所带的参数,可为NULL
    lpDirectory :自定义的目录,可为NULL
    nShowCmd :运行的程序的初始显示方式,如SW_SHOW SW_MAXIMIZE 等
      

  2.   

    我实现的时候,是写了一个bat文件,然后WinExec了,好傻