Process.Start方法是否调用基础Windows函数CreateProcess?
从微软文档来看,Process.Start似乎可以用于C++或C#,但CreateProcess只能在C++中使用。
我只是想确定一个函数是否利用了另一个函数,这是否是C#和C++中API调用的一般情况。
发布于 2014-11-26 16:34:53
它可以根据传入的StartInfo中的设置调用3个可能的本机函数。
UseShellExecute = true,它将调用ShellExecuteEx。UseShellExecute = false和您设置了用户名,那么它将调用CreateProcessWithLogonW。UseShellExecute = false和您没有设置用户名,那么它将调用CreateProcess。您可以自己通过参考源跟踪代码。
如果您想直接调用CreateProcess (或任何本机函数),您需要执行一个"平台调用(P/ Invoke )“。有一些网站可以帮助您计算出P/Invoke签名共同职能。这个过程要复杂得多,而且只需使用Process.Start就更简单了。
https://stackoverflow.com/questions/27153816
复制相似问题