|
本帖最后由 3370225 于 2013-5-10 19:49 编辑
WIN7 64位系统,以下是1个模拟手工结束进程的代码,不编译exe的话能正常执行,但是一编译
成exe的,直接呼出管理器,但是不会选择进程和结束进程,然后就结束了,求教是怎么回事。
又发现个奇葩问题,编译后EXE不要扔桌面就能正常使用,这又是怎么回事
Opt("WinTitleMatchMode", 3)
Dim $iProcessIndex, $h_listview
done()
Func done()
If Not (WinExists("Windows 任务管理器")) Then
Send("{CTRLDOWN}")
Send("{SHIFTDOWN}")
Send("{ESC down}")
Send("{CTRLUP}")
Send("{SHIFTUP}")
Send("{ESC up}")
WinWait("Windows 任务管理器")
EndIf
WinActivate ( "Windows 任务管理器" )
WinSetOnTop("Windows 任务管理器", "", 1)
Sleep(1000)
$kjid=ControlCommand ( "Windows 任务管理器", "", 1000, "CurrentTab" )
If $kjid<>2 Then
Select
Case $kjid=1
$kjid=ControlCommand ( "Windows 任务管理器", "", 1000, "TabRight" )
Case $kjid=3
$kjid=ControlCommand ( "Windows 任务管理器", "", 1000, "TabLeft" )
EndSelect
EndIf
Sleep(1000)
$iProcessIndex = ControlListView("Windows 任务管理器", "", 1009, "FindItem", "notepad.exe")
If $iProcessIndex = -1 Then
WinClose ("Windows 任务管理器")
Else
Sleep(1000)
WinActivate ( "Windows 任务管理器" )
$iProcessIndex = ControlListView("Windows 任务管理器", "", 1009, "Select", $iProcessIndex)
Sleep(2000)
ControlClick("Windows 任务管理器", "", "Button2")
Sleep(3000)
ControlClick("任务管理器警告", "", "Button1")
WinActivate("Windows 任务管理器")
ControlClick("Windows 任务管理器", "", "Button1")
Sleep(3000)
WinClose ("Windows 任务管理器")
EndIf
EndFunc |
|