监控浏览器进程,结束后用 运行(浏览器目录+" "+地址) 来实现主页修改
DLL命令表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
.版本 2 .DLL命令 CoInitialize, 整数型, "Ole32.dll" .参数 pvReserved, 整数型 .DLL命令 CoUninitialize, , "Ole32.dll" .DLL命令 RegisterWindowMessageA, 整数型, , "RegisterWindowMessageA" .参数 lpString, 文本型 .DLL命令 SendMessageTimeoutA, 整数型, , "SendMessageTimeoutA" .参数 MSG, 整数型 .参数 hwnd, 整数型 .参数 wParam, 整数型 .参数 lParam, 整数型 .参数 fuFlags, 整数型 .参数 uTimeout, 整数型 .参数 lpdwResult, 整数型, 传址 .DLL命令 ObjectFromLresult, 整数型, "OLEACC.DLL", "ObjectFromLresult", , .参数 lResult, 整数型 .参数 riid, 字节集 .参数 wParam, 整数型 .参数 ppvObject, 对象 .DLL命令 PathMatchSpec, 逻辑型, "shlwapi.dll", "PathMatchSpecA" .参数 pszFile, 文本型 .参数 pszSpec, 文本型 .DLL命令 FindWindowExA, 整数型, , "FindWindowExA" .参数 hWnd1, 整数型 .参数 hWnd2, 整数型 .参数 lpsz1, 整数型 .参数 lpsz2, 整数型 .DLL命令 GetClassName, , , "GetClassNameA" .参数 hwndParent, 整数型 .参数 hwndChildAfter, 文本型 .参数 lpszClass, 整数型 .DLL命令 CreateWaitableTimerA, 整数型, , "CreateWaitableTimerA" .参数 lpTimerAttributes, 整数型 .参数 bManualReset, 逻辑型 .参数 lpTimerName, 整数型 .DLL命令 SetWaitableTimer, 整数型, , "SetWaitableTimer" .参数 hTimer, 整数型 .参数 pDueTime, LARGE_INTEGER .参数 lPeriod, 整数型 .参数 pfnCompletionRoutine, 整数型 .参数 lpArgToCompletionRoutine, 整数型 .参数 fResume, 逻辑型 .DLL命令 MsgWaitForMultipleObjects, 整数型, , "MsgWaitForMultipleObjects" .参数 nCount, 整数型 .参数 pHandles, 整数型, 传址 .参数 fWaitAll, 逻辑型 .参数 dwMilliseconds, 整数型 .参数 dwWakeMask, 整数型 .DLL命令 CancelWaitableTimer, 逻辑型, , "CancelWaitableTimer" .参数 hTimer, 整数型 .DLL命令 API_发送消息2, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定 .参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄 .参数 信息值, 整数型, , 消息的标识符 .参数 参数一, 整数型, , 具体取决于消息 .参数 参数二, 整数型, , 具体取决于消息; .DLL命令 API_发送消息, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定 .参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄 .参数 信息值, 整数型, , 消息的标识符 .参数 参数一, 整数型, , 具体取决于消息 .参数 参数二, 文本型, , 具体取决于消息; .DLL命令 API_寻找子窗口, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError .参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找) .参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索 .参数 欲搜索的类名1, 文本型, , 欲搜索的类名。零表示忽略 .参数 欲搜索的类名2, 整数型, , 欲搜索的类名。零表示忽略; .DLL命令 API_寻找顶级窗口, 整数型, "user32", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError .参数 窗口类名, 文本型, , 指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类 .参数 窗口文本, 整数型, , 指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 示例Dim hw&, cnt&Dim rttitle As * 256hw& = FindWindow("ThunderRT5Main", vbNullString) ' ThunderRTMain under VB4cnt = GetWindowText(hw&, rttitle, 255)MsgBox Left$(rttitle, cnt), 0, "RTMain title"; .DLL命令 创建线程API, 整数型, "kernel32.dll", "CreateThread", , 创建线程API .参数 lpThreadAttributes, 整数型 .参数 dwStackSize, 整数型 .参数 子程序指针, 子程序指针 .参数 参数, 整数型 .参数 dwCreationFlags, 整数型 .参数 线程ID, 整数型, 传址 .DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32", "SetProcessWorkingSetSize", , ; 设置操作系统实际划分给进程使用的内存容量 非零表示成功,零表示失败。会设置GetLastError .参数 hProcess, 整数型, , 指定一个进程的句柄 .参数 dwMinimumWorkingSetSize, 整数型, , 用于装载最小进程容量的一个变量 .参数 dwMaximumWorkingSetSize, 整数型, , 用于装载最大进程容量的一个变量适用平台Windows NT; .DLL命令 Process32First, 整数型 .参数 h, 整数型 .参数 p, 进程 .DLL命令 Process32Next, 整数型 .参数 h, 整数型 .参数 p, 进程 .DLL命令 Module32First, 整数型, , "Module32First" .参数 hsnap, 整数型 .参数 mod, 模块信息 .DLL命令 调整特权_NT, 整数型, "ntdll.dll", "RtlAdjustPrivilege" .参数 新权限, 整数型 .参数 设置权限, 逻辑型 .参数 进程继承, 逻辑型 .参数 旧权限, 整数型, 传址 .DLL命令 打开进程_NT, 整数型, "ntdll.dll", "ZwOpenProcess", , * .参数 进程句柄, 整数型, 传址 .参数 访问权限, 整数型 .参数 对象属性, 字节型, 传址 数组 .参数 客户ID, 客户ID .DLL命令 枚举进程ID_, 逻辑型, "psapi.dll", "EnumProcesses" .参数 进程ID组, 整数型, 传址 数组 .参数 内存长度, 整数型 .参数 返回长度, 整数型, 传址 .DLL命令 关闭对象句柄_NT, 整数型, "ntdll.dll", "ZwClose" .参数 对象句柄, 整数型, , .DLL命令 终止进程_NT, 整数型, "ntdll.dll", "ZwTerminateProcess" .参数 进程句柄, 整数型 .参数 返回值, 整数型 .DLL命令 暂停进程_NT, 整数型, "NTDLL.DLL", "ZwSuspendProcess" .参数 进程句柄, 整数型 .DLL命令 恢复进程_NT, 整数型, "NTDLL.DLL", "ZwResumeProcess" .参数 进程句柄, 整数型 .DLL命令 CryptAcquireContext, 整数型, "advapi32.dll", "CryptAcquireContextA", , GetLastError取得失败信息 非零表示成功,零表示失败。 .参数 phProv, 整数型, 传址, csp句柄,用CryptReleaseContext释放 .参数 pszContainer, 文本型, , 密钥名 .参数 pszProvider, 文本型, , 加密服务名null .参数 dwProvType, 整数型, , 加密类型PROV_RSA_FULL .参数 dwFlags, 整数型, , CRYPT_VERIFYCONTEXT .DLL命令 EmptyWorkingSet, , "psapi.dll" .参数 z .DLL命令 AdjustTokenPrivileges, 整数型, "advapi32.dll", "AdjustTokenPrivileges", , _置进程权限,使能/取消令牌特权 .参数 令牌句柄, 整数型 .参数 DisableAllPrivileges, 整数型 .参数 NewState, 进程权限, 传址 .参数 BufferLength, 整数型 .参数 PreviousState, 整数型 .参数 ReturnLength, 整数型 .DLL命令 LookupPrivilegeValueA, 整数型, "advapi32.dll", "LookupPrivilegeValueA", , _取权限令牌,返回特权名LUID .参数 系统服务名, 整数型, , lpSystemName .参数 权限名, 文本型, 传址 .参数 权限结构, LuID, 传址 .DLL命令 OpenProcessToken, 整数型, "advapi32.dll", "OpenProcessToken", , _打开令牌对象,打开过程令牌对象 .参数 进程句柄, 整数型 .参数 权限, 整数型 .参数 令牌句柄, 整数型, 传址 .DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc", 公开, LPVOID WINAPI HeapAlloc 失败返回0 .参数 hHeap, 整数型, , __in HANDLE hHeap, .参数 dwFlags, 整数型, , __in DWORD dwFlags,#HEAP_ZERO_MEMORY .参数 dwBytes, 整数型, , __in SIZE_T dwBytes, .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId", , _取自进程ID |
全局变量表
1
2
3
4
5
6
7
|
.版本 2 .全局变量 线程许可证, 整数型 .全局变量 需更改网址, 文本型, , "0" .全局变量 浏览器名, 文本型, , "0" .全局变量 浏览器数, 整数型 .全局变量 IE浏览器窗口, 整数型 .全局变量 文本, 文本型 |
常量数据表
1
2
3
4
5
6
7
8
9
|
.版本 2 .常量 PROCESS_ALL_ACCESS, "2035711", 公开, 所有数据操作 .常量 WAIT_OBJECT_0, "0" .常量 QS_ALLINPUT, "255" .常量 INFINITE, "-1" .常量 常量_主页, "<文本长度: 20>", , 短网址的 .常量 常量_IE主页, "<文本长度: 21>", , 这个是IE的 .常量 浏览器进程, "<文本长度: 630>", , 2345Explorer.exe sogouexplorer.exe ... .常量 浏览器名字, "<文本长度: 2328>", , 浏览器名 [1] = “2345Explorer.exe” ' 2345王牌浏览器 浏览器名 [2] = “sogouexplorer.exe” ' 搜狗浏览器.... |
自定义数据类型表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
.版本 2 .数据类型 LARGE_INTEGER .成员 QuadPart, 长整数型, , , 占用8个字节 .数据类型 模块信息 .成员 size, 整数型 .成员 mid, 整数型 .成员 pid, 整数型 .成员 gusage, 整数型 .成员 pusage, 整数型 .成员 base, 整数型 .成员 bsize, 整数型 .成员 hmodule, 整数型 .成员 szname, 字节型, , "256" .成员 szpath, 字节型, , "256" .数据类型 客户ID .成员 进程ID, 整数型 .成员 线程ID, 整数型 .数据类型 进程权限, , From:AdjustTokenPrivileges .成员 PrivilegeCount, 整数型 .成员 lowpart, 整数型 .成员 highpart, 整数型 .成员 Attributes, 整数型 .数据类型 LuID, , 进程令牌 .成员 lowpart, 整数型 .成员 highpart, 整数型 .数据类型 进程 .成员 dwSize, 整数型 .成员 cntUsage, 整数型 .成员 srgyvr, 整数型 .成员 th32DefaultHeapID, 整数型 .成员 syhhbr, 整数型 .成员 cntThreads, 整数型 .成员 th32ParentProcessID, 整数型 .成员 pcPriClassBase, 整数型 .成员 dwFlags, 整数型 .成员 进程名称, 字节型, , "256" .数据类型 FILETIME .成员 dwLowDateTime, , , , The low-order part of the file time .成员 dwHighDateTime, , , , The high-order part of the file time .数据类型 SECURITY_ATTRIBUTES, , 安全性结构;程序互斥 .成员 nLength, 整数型 .成员 lpSecurityDescriptor, 整数型 .成员 bInheritHandle, 整数型 |
获取进程相关
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
.版本 2 .支持库 eAPI .程序集 程序集2 .子程序 根据进程ID取进程名, 文本型 .参数 进程ID .局部变量 系统进程, 进程信息, , "0" .局部变量 计次变量, 整数型 系统进程 = 取系统进程列表 () .计次循环首 (取数组成员数 (系统进程), 计次变量) .如果真 (系统进程 [计次变量].进程标识符 = 进程ID) 返回 (系统进程 [计次变量].进程名称) 跳出循环 () .如果真结束 .计次循环尾 () 返回 (“”) .子程序 _取模块路径, 文本型 .参数 processid, 整数型 .局部变量 snap, 整数型, , , 快照句柄 .局部变量 mod, 模块信息 snap = CreateToolhelp32Snapshot (8, processid) .如果真 (snap = -1) 返回 (“”) .如果真结束 mod.size = 1024 Module32First (snap, mod) 返回 (取字节集数据 (到字节集 (mod.szpath), 10, )) CloseHandle (snap) .子程序 提升进程权限D, 整数型, 公开, 成功返回真,把一个进程的权限提升到调试级权限 .参数 进程ID, 整数型, 可空, 可空为提升当前进程 .局部变量 进程句柄, 整数型 .局部变量 令牌句柄, 整数型 .局部变量 destLuid, LuID .局部变量 进程权限, 进程权限 .局部变量 返回值, 整数型 .如果真 (是否为空 (进程ID)) 进程ID = GetCurrentProcessId () .如果真结束 进程句柄 = 打开进程 (进程ID, 2035711) OpenProcessToken (进程句柄, 983551, 令牌句柄) LookupPrivilegeValueA (0, “SeDebugPrivilege”, destLuid) 进程权限.PrivilegeCount = 1 进程权限.Attributes = 2 进程权限.lowpart = destLuid.lowpart 进程权限.highpart = destLuid.highpart 返回值 = AdjustTokenPrivileges (令牌句柄, 0, 进程权限, 0, 0, 0) CloseHandle (进程句柄) 返回 (返回值) .子程序 打开进程, 整数型, 公开 .参数 进程ID, 整数型, 可空 .参数 级别, 整数型, 可空, #PROCESS开头的常量 返回 (OpenProcess (选择 (是否为空 (级别), #PROCESS_ALL_ACCESS, 级别), 0, 选择 (是否为空 (进程ID), GetCurrentProcessId (), 进程ID))) .子程序 取父进程ID, 整数型, , 取得父级进程ID,失败返回-1 .参数 进程ID, 整数型 .局部变量 信息, 进程 .局部变量 进程快照, 整数型 .局部变量 进程句柄, 整数型 进程快照 = CreateToolhelp32Snapshot (15, 0) .如果真 (进程快照 ≠ 0) 信息.dwSize = 1024 进程句柄 = Process32First (进程快照, 信息) .判断循环首 (进程句柄 ≠ 0) .如果真 (进程ID = 信息.srgyvr) CloseHandle (进程快照) 返回 (信息.th32ParentProcessID) .如果真结束 进程句柄 = Process32Next (进程快照, 信息) .判断循环尾 () .如果真结束 CloseHandle (进程快照) 返回 (-1) .子程序 _取窗口句柄, 整数型 .参数 _Hwnd, 整数型, 可空 .局部变量 ClassName, 文本型 .局部变量 Hwnd, 整数型 .局部变量 n Hwnd = FindWindowExA (_Hwnd, 0, 0, 0) .判断循环首 (Hwnd > 0) ClassName = 取空白文本 (255) ' 缓冲区 GetClassName (Hwnd, ClassName, 255) ' 取窗口类名 .如果真 (ClassName = “Internet Explorer_Server”) ' 句柄 返回 (Hwnd) .如果真结束 n = _取窗口句柄 (Hwnd) .如果真 (n ≠ 0) 返回 (n) .如果真结束 Hwnd = FindWindowExA (_Hwnd, Hwnd, 0, 0) .判断循环尾 () 返回 (0) |
锁定浏览器主页的代码
此功能需要加载精易模块5.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
.版本 2 .支持库 spec .支持库 EThread .程序集 程序集1 .程序集变量 循环次数, 整数型 .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 浏览器名 = 分割文本 (#浏览器进程, #换行符, ) 浏览器数 = 取数组成员数 (浏览器名) 需更改网址 = { “hao.rising.cn”, “hao123.com”, “tao123.com”, “2345.com”, “hao.360.cn”, “www.kouke5.com”, “www.mobanpai.com”, “www.haovps.cn”, “www.zhanhu.net”, “www.4493.com”, “www.7160.com”, “www.youzi4.com”, “www.juemei.cc”, “www.mm131com”, “www.xiaojiuwo.com”, “www.tpdq.net”, “www.920mm.com”, “www.169pp.com”, “www.xgmm.cc”, “www.kmeitu.com”, “www.qq360x.com”, “www.123kmm.com”, “www.09218.com”, “www.mm3.cc”, “www.b4mm.com”, “www.tuku.com”, “www.xiaomm.cc”, “www.84420.com”, “www.gunianger.com”, “www.ii6i.com”, “www.mmkaixin.com”, “www.06324.com”, “www.6188.net”, “www.8mei.cc”, “www.mzitu.com”, “www.mmlin.com”, “www.mm588.com”, “www.meiniu.cc”, “www.t8a8.com”, “www.99521.com”, “www.kmeitu.com”, “www.909mm.com”, “www.169meitu.com”, “www.xiezhenku.com”, “www.yangyanmm.com”, “22mm.cc”, “mnsfz.com”, “4493.com”, “7160.com”, “youzi4.com”, “juemei.cc”, “mm131com”, “xiaojiuwo.com”, “tpdq.net”, “920mm.com”, “169pp.com”, “xgmm.cc”, “kmeitu.com”, “qq360x.com”, “123kmm.com”, “09218.com”, “mm3.cc”, “b4mm.com”, “tuku.com”, “xiaomm.cc”, “84420.com”, “gunianger.com”, “ii6i.com”, “mmkaixin.com”, “06324.com”, “6188.net”, “8mei.cc”, “mzitu.com”, “mmlin.com”, “mm588.com”, “meiniu.cc”, “t8a8.com”, “99521.com”, “kmeitu.com”, “909mm.com”, “169meitu.com”, “xiezhenku.com”, “yangyanmm.com”, “p.39yst.com”, “pic.39yst.com”, “tu.dddddd.net”, “tu.5239.com”, “pic.qm120.com”, “www.daimazhe.com”, “meinv.nvxingku.com”, “tuku.meinv.com”, “tuku.0789.net”, “meinv.xinggan.com”, “tuku.piaoliang.com”, “mm.raorao.com”, “hao.360.cn”, “www.114la.com”, “tuku.guimi.com”, “www.duba.com”, “123.sogou.com”, “about:blank”, “www.zhanid.com” } ' //把需要跳转的网址写这里,记得要用引号引起来,用逗号隔开 载入 (窗口1, , 真) 返回 (0) .子程序 开始监控 .判断循环首 (假) 监控进程 (&处理) 程序_延时 (100) 系统_处理事件 () .判断循环尾 () .子程序 监控进程 .参数 子程序, 子程序指针 .局部变量 互斥, 逻辑型, 静态 .局部变量 原进程ID, 整数型, 静态, "256" .局部变量 原进程数, 整数型, 静态 .局部变量 原计次, 整数型 .局部变量 现进程ID, 整数型, , "256" .局部变量 现进程数, 整数型 .局部变量 现计次, 整数型 .局部变量 实返, 整数型 .局部变量 进程句柄, 整数型 .局部变量 对象属性, 字节型, 静态, "24" .局部变量 客户ID, 客户ID .局部变量 S, 文本型 .局部变量 是否放行, 逻辑型 .如果真 (互斥 = 真) 返回 () .如果真结束 互斥 = 真 .如果真 (原进程数 = 0) 调整特权_NT (20, 真, 真, 0) 对象属性 [1] = 24 .如果 (枚举进程ID_ (原进程ID, 1024 × 4, 实返)) 原进程数 = 实返 ÷ 4 .否则 互斥 = 假 返回 () .如果结束 .如果真结束 .如果真 (枚举进程ID_ (现进程ID, 1024 × 4, 实返)) 现进程数 = 实返 ÷ 4 .计次循环首 (现进程数, 现计次) .计次循环首 (原进程数, 原计次) .如果真 (现进程ID [现计次] = 原进程ID [原计次]) 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (原计次 > 原进程数) 客户ID.进程ID = 现进程ID [现计次] .如果真 (0 = 打开进程_NT (进程句柄, 2035711, 对象属性, 客户ID)) .计次循环首 (50, ) .如果 (根据进程ID取进程名 (现进程ID [现计次]) = “iexplore.exe”) S = “C:\Program Files\Internet Explorer\iexplore.exe” .否则 .如果真 (S ≠ “”) 跳出循环 () .如果真结束 S = _取模块路径 (现进程ID [现计次]) .如果结束 系统_处理事件 () .计次循环尾 () 调用子程序 (子程序, , 是否放行, 现进程ID [现计次], S) .如果 (是否放行) 系统_处理事件 () 提升进程权限D () 暂停进程_NT (进程句柄) 恢复进程_NT (进程句柄) 关闭对象句柄_NT (进程句柄) .否则 终止进程_NT (进程句柄, 0) 运行 (S + “ ” + 窗口1.网址编辑框.内容, 假, 4) 调试输出 (S + “ ” + 窗口1.网址编辑框.内容) 调试输出 (S) 跳出循环 () .如果结束 系统_处理事件 () .如果真结束 系统_处理事件 () .如果真结束 系统_处理事件 () .计次循环尾 () 原进程ID = 现进程ID 原进程数 = 现进程数 .如果真结束 互斥 = 假 .子程序 处理, 逻辑型 .参数 PID, 整数型 .参数 路径, 文本型 .局部变量 xxx, 整数型 .局部变量 判断进程名, 文本型, 静态 .如果真 (到小写 (根据进程ID取进程名 (取父进程ID (PID))) = “explorer.exe”) 判断进程名 = 到小写 (根据进程ID取进程名 (PID)) .变量循环首 (1, 浏览器数, 1, xxx) .如果真 (判断进程名 = 到小写 (浏览器名 [xxx])) 返回 (假) .如果真结束 .变量循环尾 () 返回 (真) .如果真结束 返回 (真) .子程序 IE跳转 .局部变量 i, 整数型 .判断循环首 (假) IE浏览器窗口 = API_寻找顶级窗口 (“IEFrame”, 0) .如果真 (IE浏览器窗口 > 0) IE浏览器窗口 = API_寻找子窗口 (IE浏览器窗口, 0, “WorkerW”, 0) IE浏览器窗口 = API_寻找子窗口 (IE浏览器窗口, 0, “ReBarWindow32”, 0) IE浏览器窗口 = API_寻找子窗口 (IE浏览器窗口, 0, “Address Band Root”, 0) IE浏览器窗口 = API_寻找子窗口 (IE浏览器窗口, 0, “Edit”, 0) 文本 = 取空白文本 (255) API_发送消息 (IE浏览器窗口, 13, 255, 文本) 调试输出 (文本) .如果真 (寻找文本 (文本, 窗口1.网址编辑框.内容, , 假) = -1) .计次循环首 (取数组成员数 (需更改网址), i) .如果真 (寻找文本 (文本, 需更改网址 [i], , 假) ≠ -1) 修改网址 (IE浏览器窗口, 窗口1.网址编辑框.内容) .如果真结束 处理事件 () .计次循环尾 () .如果真结束 .如果真结束 程序_延时 (123) 系统_处理事件 () .判断循环尾 () .子程序 修改网址 .参数 窗口1, 整数型 .参数 网址, 文本型 API_发送消息 (窗口1, 12, 0, 网址) API_发送消息2 (窗口1, 256, 13, 5) API_发送消息2 (窗口1, 257, 13, 5) .子程序 内存优化线程 启动线程 (&内存优化, , ) .子程序 内存优化 SetProcessWorkingSetSize (-1, -1, -1) EmptyWorkingSet (-1) 延时 (200) 处理事件 () 启动线程 (&内存优化, , ) |
启动窗口
1
2
3
4
5
6
7
8
|
.版本 2 .程序集 窗口程序集_窗口1 .子程序 _结束按钮_被单击 进程_结束 () .子程序 _锁定主页按钮_被单击 创建线程API (0, 0, &内存优化线程, 0, 0, 0) ' 这条线程是优化内存的 创建线程API (0, 0, &IE跳转, 0, 0, 0) ' 这条线程是修改IE浏览器的 创建线程API (0, 0, &开始监控, 0, 0, 0) ' 这条线程是监控浏览器的 |
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接