我在我的程序中有以下代码:
//Code
if not CreateProcess(nil, NonConstCmd, nil, nil, True, NORMAL_PRIORITY_CLASS or
CREATE_NEW_PROCESS_GROUP, nil, PCh, SI, P) then
//Code
我一直得到访问冲突错误。 顺便说一下,在Delphi7中,同样的代码可以完美运行。 我已经阅读了MSDN,并发现Delphi中的CreateProcess函数可以修改第二个参数。 最初它是const的,这就是为什么我创建了一个具有相同值的新变量。 但它没有任何效果。
问题是:为什么这段代码不起作用?
CreateProcess
函数的参数。 - RRUZCreateProcess
调用无法提供有用的信息。你会遇到访问冲突错误是因为CreateProcess
的实现在使用你作为参数传递的指针之一时,成功访问了无效的内存。换句话说,根本问题在于你如何准备参数以及参数的类型。 - Cosmin Prund