Delphi:CreateProcess函数中的进程创建标志
文章/示例中通常描述了4个标志:Delphi:CreateProcess函数中的进程创建标志,delphi,flags,createprocess,Delphi,Flags,Createprocess,文章/示例中通常描述了4个标志: NORMAL_PRIORITY_CLASS = $00000020; {$EXTERNALSYM NORMAL_PRIORITY_CLASS} IDLE_PRIORITY_CLASS = $00000040; {$EXTERNALSYM IDLE_PRIORITY_CLASS} HIGH_PRIORITY_CLASS = $00000080; {$EXTERNALSYM H
NORMAL_PRIORITY_CLASS = $00000020;
{$EXTERNALSYM NORMAL_PRIORITY_CLASS}
IDLE_PRIORITY_CLASS = $00000040;
{$EXTERNALSYM IDLE_PRIORITY_CLASS}
HIGH_PRIORITY_CLASS = $00000080;
{$EXTERNALSYM HIGH_PRIORITY_CLASS}
REALTIME_PRIORITY_CLASS = $00000100;
{$EXTERNALSYM REALTIME_PRIORITY_CLASS}
我可以在该功能中使用它们中的任何一个吗
这两个链接之间有什么区别
为什么CreateProcess函数中会出现错误:不兼容的类型:“Cardinal”和“TThreadPriority”,如果我有和执行:
var Priority : Cardinal
Priority:=NORMAL_PRIORITY_CLASS;
CreateProcess(PChar(Path), Pchar(Par), nil, nil, false,
Priority, nil, nil, StartUpInfo, ProcessInfo);
什么是优先权
谢谢 您可以使用
GetPriorityClass
函数的文档中提到的6个标志之一。RTL省略其中两个标志的原因是Windows 9x/ME不支持它们(这在D2007中,可能更高版本有这些标志)
您可以或优先级类标志与流程创建标志的任意组合(文档中注明的除外-您提供的第一个链接)
TThread priority
是在“classes.pas”中的TThread
中使用的枚举类型,与进程创建标志没有任何关系。问题中发布的代码似乎没有任何问题(请参阅对问题的评论) 关于你的第二个链接;功能-不,你不能;它直接写在参考资料中。
流程的优先级等级是以下值之一。
您的字面意思是指所有值(即同时),还是指其中任何一个值?@maxfax-以及关于您的第一个链接和问题;我不明白你在问什么。在每个API函数引用中都提到了可以作为参数传递的内容,如果其中一个函数是这样的组合。@maxfax-您可以使用6个函数中的一个。VCL省略2的原因是windows 9x/ME不支持它们。链接中没有提到这一点的原因是MS不再支持这些操作系统。@maxfax-您发布的代码没有错误。除非您没有在windows.pas中使用CreateProcess。请确保在单元名称前加前缀:windows.CreateProcess(..
)。