首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于外部程序调用的消息有关问题

2012-02-23 
关于外部程序调用的消息问题ShellExecute,ShellExecuteEx,WinExec,CreateProcess,CreateProcessAsUser都可

关于外部程序调用的消息问题
ShellExecute,ShellExecuteEx,WinExec,CreateProcess,CreateProcessAsUser都可以调用外部程序,主程序调用外部程序时是如何完成的?它会发送什么消息给外部程序吗?外部程序执行后会反馈什么消息吗?如果没有任何消息发送,外部程序是如何知道自己被调用的。。是以那种方式调用的?一个程序的调用可以直接运行(鼠标双击它),也可以被外部程序调用(WIN   API),它是如何知道自己被何种方式调用?

[解决办法]
shellexec可以用来执行应用程序,也可用来打开文档,它实际上相当于在windows中双击一个对象后按照系统文件关联自动调用相关程序。
winexec只能用来执行应用程序,microsoft不推荐使用它,它只是为了向下兼容,应当用createprocess代替。createprocess最强大,通过对其参数的设置,可获得最大的控制。
在win32 help中对createprocess是这样描述的:The CreateProcess function creates a new process and its primary thread. The new process executes the specified executable file.

热点排行