ShellExecute、WinExec和CreateProcess有什么区别(100分)

  • 主题发起人 主题发起人 sentiment
  • 开始时间 开始时间
S

sentiment

Unregistered / Unconfirmed
GUEST, unregistred user!
请问这三个API使用上有什么区别。<br>另外,我开发的一个程序(程序1),用SHELLEXECTUE调用一个批处理文件,再在此批处理文件当中<br>调用另一个程序(程序2,PB开发,ORACEL8.06数据库),能够连接到数据库。但我在程序1中<br>使用CREATEPROCESS直接调用则程序2,则提示版本不同,不知何故,请高手指教。
 
什么意思?<br>我认为第三个函数最强大,出错,是你对他的参数不熟悉,<br>我个人认为前两个函数都是第三个函数的简化版,
 
shellexec可以用来执行应用程序,也可用来打开文档,它实际上相当于在windows中<br>双击一个对象后按照系统文件关联自动调用相关程序。winexec只能用来执行应用程序,<br>microsoft不推荐使用它,它只是为了向下兼容,应当用createprocess代替.在win32 help<br>中对createprocess是这样描述的:The CreateProcess function creates a new <br>process and its primary thread. The new process executes the specified <br>executable file.
 
我觉得,使用createprocess时,应该直接运行command.com,批处理文件作为它的一个参数,<br>shellexec会自动启动command.com运行批处理文件,但createprocess好像不会。<br>“版本不同”是说批处理文件还是程序2?<br><br>
 
windbell, 的解释很清楚了!
 
多人接受答案了。
 
后退
顶部