simxinzi 发表于 2008-8-9 23:22:41

AU3关于多核CPU关系设置

如题,如何让Au3控制程序CPU关系,有这样的函数吗?望知道的指导一下,谢谢

simxinzi 发表于 2008-8-12 12:18:25

没有人会吗?

sanhen 发表于 2008-8-12 13:23:20

AU3没有相关硬件控制的函数。可以借助外部DLL或者EXE实现。

漠北雪~狼 发表于 2009-11-30 10:51:08

第一个参数是进程PID,第二个参数是CPU ID( 从1起,而不是从0起)ProcessSetAffinity(1464,2)

Func ProcessSetAffinity($iProcessID,$iProcessor = 1)
    Local $i_PID = ProcessExists($iProcessID)
    If Not $i_PID Then
      SetError(1)
      Return -1
    EndIf
    Local $hDLL = DllOpen('kernel32.dll')
    Local $aProcessHandle = DllCall($hDLL, 'int', 'OpenProcess', 'int', 0x0200, 'int', False, 'int', $i_PID)
    if $aProcessHandle = 0 Then
      SetError(2)
      Return -1
    EndIf
    Local $aAffinity = DllCall($hDLL, 'int', 'SetProcessAffinityMask', 'int', $aProcessHandle, 'int', $iProcessor)
    DllCall($hDLL, 'int', 'CloseHandle', 'int', $aProcessHandle)
    DllClose($hDLL)
    Return $aAffinity
EndFunc;==>ProcessSetAffinity
页: [1]
查看完整版本: AU3关于多核CPU关系设置