yangdai 发表于 2011-2-13 11:11:45

(已解決)控制程式暫停或激活,autoit能實現嗎?

本帖最后由 yangdai 于 2011-2-13 18:27 编辑

請教
執行兩隻au3編譯的exe。a.exe與b.exe
在視窗的工具列可看到兩隻程式的icon
可移到icon上按右鍵將程式暫停或激活

如果要用a.exe控制b.exe暫停或激活
a程式要如何寫

需要由a程式控制
不要傳遞訊息由b接收後暫停或激活

高手幫幫忙
autoit能做到嗎?

thks.

wsfda 发表于 2011-2-13 14:06:18

帮顶.......{:face (280):}

yangdai 发表于 2011-2-13 18:26:36

在官網找到的
Func _ProcessSuspend($process); PAUSE
   LOCAL$processid,$ai_Handle,$i_sucess
   $processid = ProcessExists($process)
   If $processid Then
         $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid)
         $i_sucess = DllCall("ntdll.dll","int","NtSuspendProcess","int",$ai_Handle)
         DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
         If IsArray($i_sucess) Then
             Return 1
         Else
             SetError(1)
             Return 0
         Endif
   Else
         SetError(2)
         Return 0
   Endif
EndFunc

Func _ProcessResume($process); GO
   LOCAL$processid,$ai_Handle,$i_sucess
   $processid = ProcessExists($process)
   If $processid Then
         $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid)
         $i_sucess = DllCall("ntdll.dll","int","NtResumeProcess","int",$ai_Handle)
         DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
         If IsArray($i_sucess) Then
             Return 1
         Else
             SetError(1)
             Return 0
         Endif
   Else
         SetError(2)
         Return 0
   Endif
EndFunc
页: [1]
查看完整版本: (已解決)控制程式暫停或激活,autoit能實現嗎?