用 WinExec()  或者 CreateProcess()  都可以,具体的用法你查一下 API 的资料吧。

解决方案 »

  1.   

    又是一个“不要告诉我...”的问题。真不知道提问的人到底怎么想的,既然提问,当然就是不太清楚的东西。而又告诉别人你回答我的问题不要回答XXX。用Shell有什么不好?为什么别人不可以回答你用Shell?如果你有特殊需要,Shell的确完成不了(又或许Shell可以完成,但只不过你不清楚呢?),你也可以说“Shell我试过,因为XXX原因而无法实现”,你不说清楚,却只告诉别人不要回答用Shell,这是请教别人的方法吗?用API的话,可以用WinExec()和ShellExecute(),ShellExecute功能更强大一些,可以执行任何类型的文件(会自动启动其关联程序),具体函数原型自己查MSDN吧
      

  2.   

    补充一下:ShellExecute可以设定工作目录。
    不好意思,没看清你的题目,原来你已经说了用Shell无法完成的原因,是我大意了,抱歉。“用vb的shell启动程序因为不能正确设置程序工作目录,导致程序不能工作,用chdir也没用。”