喜欢就点一下“推荐”,给我点写下去的动力,谢谢!
声明:
本文版权归作者碧血黄沙.NET所有,欢迎转载,但转载必须保留以下版权信息,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
作者:碧血黄沙.net
出处:博客园http://www.cnblogs.com/wjj/archive/2010/02/25/1673157.html
你可以免费使用或修改提供的源代码,但请保留源代码中的版权信息。
本人继仿QQMusic、仿360杀毒、仿QQRadio播放器之后,最近疯狂迷恋上了“金山网盾”的界面。老在思考如何用C#做出象“金山网盾”那样的界面。
想模仿它,那就先研究它。打开“金山网盾”的安装目录,发现有一个webui文件夹,哈哈,真爽,软件所有的界面资源全在这里了,我就以webui\kwebshield\main.htm文件为例子说明一下吧!
直接在浏览器打开main.htm,发现和软件主界面一模一样,嘿嘿,终于找到了。但点击上面的按钮均无反应,看看WEB页面的代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
2 < html >
3 < head >
4 < meta http-equiv ="Content-Type" content ="text/html; charset=utf-8" />
5 < title > 金山网盾首页 </ title >
6 < link rel ="stylesheet" type ="text/css" href ="../public/css/common.css" >
7 < link rel ="stylesheet" type ="text/css" href ="style/index/index.css" >
8 < script type ="text/javascript" src ="../public/lib/jquery.js" ></ script >
9 < script type ="text/javascript" src ="js/index/js_loader.js" ></ script >
10 </ head >
11 < body ondrag ="return false;" kcore ="OnKWebApp" onselectstart ="return false;" >
12 < div id ="DivMain" >
13 < div id ="DivTitle" >
14 < div id ="DivSystemBtn" >
15 < img src ="images/index/icob1_normal.gif" />
16 < img src ="images/index/icob2_normal.gif" />
17 < img src ="images/index/icob3_normal.gif" />
18 </ div >
19 < div id ="DivMenuFeedBack" >
20 < a href ="javascript:void(0);" hidefocus ="true" >< img src ="images/index/fankui_normal.gif" /></ a >
21 </ div >
22 </ div >
23 < div id ="DivMenu" >
24 < div id ="DivSafeStatus" >< img id ="ImgSafeSta" src ="images/index/anquan.jpg" /></ div >
25 < div id ="DivMenuMon" >< img class ="MenuBtn" id ="ImgMenuMon" src ="images/index/jiankong_on.jpg" /></ div >
26 < div id ="DivMenuSet" >< img class ="MenuBtn" id ="ImgMenuSet" src ="images/index/shezhi_normal.jpg" /></ div >
27 < div id ="DivMenuBkList" >< img class ="MenuBtn" id ="ImgMenuBkList" src ="images/index/mingdan_normal.jpg" /></ div >
28 < div id ="DivMenuLog" >< img class ="MenuBtn" id ="ImgMenuLog" src ="images/index/chakan_normal.jpg" /></ div >
29 </ div >
30 < div id ="DivContent" >
31 < div id ="DivMon" >
32 < div id ="DivTextSta" > 金山网盾正在保护您的上网安全 </ div >
33 < div id ="DivStaTab" >
34 < table >
35 < tr >
36 < td width ="290" height ="55" id ="sta_item_1" class ="sta_item" > 启用浏览器保护
37 < p style ="color:#000;font-size:12px;" > 防止浏览网页时中毒或者上当受骗 </ p ></ td >
38 < td width ="50" class ="sta_text" id ="bStartKWS" > 已启用 </ td >
39 < td width ="72" >< span id ="BtnOpenBrowserMon" class ="BtnStart" > 关闭 </ span ></ td >
40 </ tr >
41 < tr >
42 < td height ="65" id ="sta_item_2" class ="sta_item" > 启用搜索引擎保护
43 < p style ="color:#000;font-size:12px;" > 保护百度、Google、Bing、搜狗等搜索安全 </ p ></ td >
44 < td class ="sta_text" id ="bStartKWS4Search" > 已启用 </ td >
45 < td >< span id ="BtnOpenSearchMon" class ="BtnStart" > 关闭 </ span ></ td >
46 </ tr >
47 < tr >
48 < td height ="50" id ="sta_item_2" class ="sta_item" > 主页保护
49 < p style ="color:#000;font-size:12px;" id ="CurIeIndex" > 防止IE主页被恶意窜改 </ p ></ td >
50 < td class ="sta_text" id ="bStartIEProt" > 已锁定 </ td >
51 < td >< span id ="BtnOpenProtIE" class ="BtnStart" > 锁定 </ span ></ td >
52 </ tr >
53 </ table >
54 </ div >
55 < div id ="DivLanJie" >
56 < table >
57 < tr >
58 < td > 保护天数: </ td >
59 < td >< span id ="SpanProtDay" > 0 </ span > 天 </ td >
60 < td ></ td >
61 </ tr >
62 < tr >
63 < td > 拦截木马病毒总数: </ td >
64 < td width ="50" align ="center" >< a href ="javascript:void(0);" title ="查看日志" id ="SpanHoldCount" hidefocus ="true" > 0 </ a ></ td >
65 < td style ="padding-top:3px;padding-left:10px;" >< a href ="javascript:void(0);" hidefocus ="true" title ="清空所有拦截记录" id ="BtnResetHoldCount" > 清零 </ a > </ td >
66 </ tr >
67 </ table >
68 < table style ="margin-top:50px;" >
69 < tr >
70 < td colspan ="2" > 病毒库版本: < span id ="SpanLibVer" > 查询中... </ span ></ td >
71 </ tr >
72 < tr >
73 < td width ="180" > 程序版本: < span id ="SpanVersionVal" > 查询中... </ span ></ td >
74 < td align ="center" >< span id ="BtnUpdate" >< a href ="javascript:void(0);" hidefocus ="true" id ="notify_call_update" > 立即升级 </ a ></ span ></ td >
75 </ tr >
76 </ table >
77 </ div >
78 < div id ="Frame4Report" >
79 <!-- <iframe src="http://labs.duba.net/kws/kwsad/kwsad.html" frameborder="no" border="0" width="200" height="168" allowtransparency="true"></iframe> -->
80 < iframe src ="" id ="BOBAO" frameborder ="no" border ="0" width ="209" height ="168" allowtransparency ="true" ></ iframe >
81 </ div >
82 </ div >
83 < div id ="DivSet" style ="display:none;" >
84 < div class ="DivSetMenu" >
85 < div id ="BaseSetMenu" class ="BaseSetMenu" >
86 < table >
87 < tr >
88 < td width ="5" >< img src ="images/index/table_button_left.jpg" /></ td >
89 < td width ="72" class ="menu_on" > 基本设置 </ td >
90 < td width ="3" >< img src ="images/index/table_button_right.jpg" /></ td >
91 </ tr >
92 </ table >
93 </ div >
94 < div id ="BaseSetMenu_1" class ="BaseSetMenu" style ="display:none;" > 基本设置 </ div >
95 < div id ="CustomSetMenu" class ="CustomSetMenu" style ="display:none;" >
96 < table >
97 < tr >
98 < td width ="5" >< img src ="images/index/table_button_left.jpg" /></ td >
99 < td width ="112" class ="menu_on" > 自定义浏览器保护 </ td >
100 < td width ="3" >< img src ="images/index/table_button_right.jpg" /></ td >
101 </ tr >
102 </ table >
103 </ div >
104 < div id ="CustomSetMenu_1" class ="CustomSetMenu" > 自定义浏览器保护 </ div >
105 < div id ="ProtIEMenu" class ="ProtIEMenu" style ="display:none;" >
106 < table >
107 < tr >
108 < td width ="5" >< img src ="images/index/table_button_left.jpg" /></ td >
109 < td width ="112" class ="menu_on" > IE首页锁定 </ td >
110 < td width ="3" >< img src ="images/index/table_button_right.jpg" /></ td >
111 </ tr >
112 </ table >
113 </ div >
114 < div id ="ProtIEMenu_1" class ="ProtIEMenu" > IE首页锁定 </ div >
115 </ div >
116 < div id ="DivBaseSetContent" >
117 < div id ="DivStepFirst" >
118 < table >
119 < tr >
120 < td width ="285" >
121 < input type ='checkbox' id ="ChkStartTray" />
122 < label for ="ChkStartTray" > 启动托盘图标 </ label >
123 </ td >
124 < td >
125 < input type ='checkbox' id ="ChkStartTrayFlash" disabled ="true" />
126 < label for ="ChkStartTrayFlash" > 启动托盘闪动提示 </ label >
127 </ td >
128 </ tr >
129 </ table >
130 </ div >
131 < div id ="DivStepSecond" >
132 < table >
133 < tr >
134 < td width ="175" >
135 < input type ='checkbox' id ="ChkStartBox" />
136 < label for ="ChkStartBox" > 开启闪框提醒 </ label >
137 </ td >
138 < td width ="175" >
139 < input type ='checkbox' id ="ChkRedBox" disabled ="true" />
140 < label for ="ChkRedBox" > 仅危险时闪框 </ label >
141 </ td >
142 </ tr >
143 </ table >
144 < table style ="margin-top:10px;" >
145 < tr >
146 < td width ="85" > 闪烁时间: </ td >
147 < td width ="88" >
148 < input type ='radio' id ="RadTimeShort" name ="BoxTimeType" value ="1" >
149 < label for ="RadTimeShort" > 较短 </ label >
150 </ td >
151 < td width ="107" >
152 < input type ='radio' id ="RadTimeNormal" name ="BoxTimeType" value ="3" >
153 < label for ="RadTimeNormal" > 正常 </ label >
154 </ td >
155 < td >
156 < input type ='radio' id ="RadTimeLong" name ="BoxTimeType" value ="5" >
157 < label for ="RadTimeLong" > 较长 </ label >
158 </ td >
159 </ tr >
160 </ table >
161 < table style ="margin-top:10px;" >
162 < tr >
163 < td width ="85" > 颜色设置: </ td >
164 < td > 安全提醒: </ td >
165 < td width ="65" >< div id ="SafeColor" class ="ColorSelect" selfparam ="0" ></ div ></ td >
166 < td > 钓鱼警告: </ td >
167 < td width ="65" >< div id ="FraudColor" class ="ColorSelect" selfparam ="1" ></ div ></ td >
168 < td > 挂马警告: </ td >
169 < td width ="65" >< div id ="TrojanColor" class ="ColorSelect" selfparam ="2" ></ div ></ td >
170 </ tr >
171 </ table >
172 </ div >
173 < div id ="DivStep4" >
174 < table >
175 < tr >
176 < td width ="185" height ="85" valign ="center" >< input type ="checkbox" id ="StartProtMouse" />
177 < label for ="StartProtMouse" > 开启鼠镖保护 </ label >
178 < p style ="color:#000;" > (为鼠标所指链接给出安全提示) </ p >
179 </ td >
180 </ tr >
181 </ table >
182 </ div >
183 < div id ="DivStepThree" style ="display:none;" >
184 < table style ="margin-top:5px;" >
185 < tr >
186 < td width ="175" >< input type ="checkbox" id ="StartProtDownLoad" />
187 < label for ="StartProtDownLoad" > 启动下载保护 </ label ></ td >
188 </ tr >
189 </ table >
190 < table style ="margin-top:20px;margin-left:10px;" >
191 < tr >
192 < td width ="120" >< input type ="checkbox" id ="ProtBrowser" />
193 < label for ="ProtBrowser" > 浏览器 </ label ></ td >
194 < td width ="120" >< input type ="checkbox" id ="ProtXunLei" />
195 < label for ="ProtXunLei" > 迅雷 </ label ></ td >
196 < td width ="120" >< input type ="checkbox" id ="ProtXuanFeng" />
197 < label for ="ProtXuanFeng" > QQ旋风 </ label ></ td >
198 < td width ="120" >< input type ="checkbox" id ="ProtFlashGet" />
199 < label for ="ProtFlashGet" > FlashGet </ label ></ td >
200 </ tr >
201 </ table >
202 </ div >
203 < div id ="DivTipReboot" > 设置需浏览器重启才生效 </ div >
204 < div id ="DivSetDef" class ="BtnComBig" > 恢复默认设置 </ div >
205 < div id ="DivSetApply" class ="BtnComMid" > 应 用 </ div >
206 </ div >
207 < div id ="DivCustomSetContent" style ="display:none;" >
208 < div id ="CustomSetTip" > 金山网盾支持所有浏览器,但不能避免一些程序腾空而出,您可以在列表中添加需要保护的程序 </ div >
209 <!-- 模拟表格头部 -->
210 < div id ="DivCustomTabHead" >
211 < table class ="TabListHead" >
212 < tr height ="24" >
213 < td width ="450" style ="padding-left:30px;" > 程序名 </ td >
214 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
215 < td width ="67" style ="padding-left:30px;" > 删除 </ td >
216 </ tr >
217 </ table >
218 </ div >
219 <!-- 带滚动条表格 -->
220 < div id ="DivScroCustomTab" >
221 < table id ="TabCustomList" class ="TabCom" >
222 </ table >
223 < table style ="display:none;" >
224 < tr height ="20" id ="TrForCreateProtEXE" >
225 < td width ="450" style ="padding-left:10px;" ></ td >
226 < td width ="70" >< a href ="javascript:void(0);" class ="DelProtExe" > 删除 </ a ></ td >
227 </ tr >
228 </ table >
229 </ div >
230 < div id ="DivLinkCustom" >< a href ="javascript:void(0);" hidefocus ="true" title ="只保护exe类型的可执行文件" id ="BtnAddCustom" > 添加 </ a ></ div >
231 </ div >
232 <!-- 改成IE首页保护 -->
233 < div id ="DivProtIESetContent" style ="display:none;" >
234 < div id ="DivClock" class ="DivClock" >
235 < table style ="margin-top:10px;" >
236 < tr >
237 < td width ="386" > 输入要锁定的网址: < input type ="text" class ="IeUrl" value ="" id ="IEIndexText" /></ td >
238 < td >< div id ="BtnLockIE" class ="BtnComMid" > 锁 定 </ div ></ td >
239 </ tr >
240 </ table >
241 < table style ="margin-top:10px;" >
242 < tr >
243 < td width ="125" align ="right" >< span id ="URLBlank" class ="LinkBtn" > 使用空白页 </ span ></ td >
244 < td width ="125" align ="right" >< span id ="URLBaidu" class ="LinkBtn" > 把 < span id ="svt_name_2" style ="cursor:pointer;" > baidu </ span > 设为首页 </ span ></ td >
245 < td width ="125" align ="right" >< span id ="URLSVT" class ="LinkBtn" > 把 < span id ="svt_name" style ="cursor:pointer;" > hao123 </ span > 设为首页 </ span ></ td >
246 </ tr >
247 </ table >
248 </ div >
249 <!-- 专版情况下是用 -->
250 < div id ="DivSVTClock" class ="DivClock" style ="display:none;" >
251 < table style ="margin-top:10px;" >
252 < tr >
253 < td width ="460" > 您当前使用的是 < span id ="SVTNAME" ></ span > 专版金山网盾,IE首页锁定能有效防止IE首页被恶意篡改 </ td >
254 </ tr >
255 < tr >
256 < td width ="460" height ="35" >< span id ="TipSVT" > 已经将您的IE浏览器首页保护为: </ span >< a href ="" target ="_blank" hidefocus ="true" id ="SVTURL" ></ a ></ td >
257 </ tr >
258 < tr >
259 < td align ="right" >< a href ="javascript:void(0);" id ="ChangeIndex" hidefocus ="true" > 我要锁定其他首页 </ a ></ td >
260 </ tr >
261 </ table >
262 </ div >
263 < div id ="DivClockErr" >
264 < table style ="margin-top:10px;" >
265 < tr >
266 < td height ="25" style ="color:#ff8040;font-weight:700;" > 如果锁定IE首页失败可以尝试以下解决方案: </ td >
267 </ tr >
268 < tr >
269 < td height ="25" > 1.添加“强制屏蔽列表”。(遇到顽固恶意首页,请将它添加到列表中,直接屏蔽。) </ td >
270 </ tr >
271 < tr >
272 < td >< table >< tr >< td > 输入要屏蔽网址: < input type ="text" id ="InputPingBi" value ="" /></ td >< td style ="padding-left:20px;" >< div id ="BtnAddShield" class ="BtnComMid" > 添 加 </ div ></ td ></ tr ></ table ></ td >
273 </ tr >
274 < tr >
275 < td style ="padding-top:10px;padding-bottom:5px;" >
276 < div class ="DivTabIE" >
277 < table width ="100%" id ="TabIeIndex" style ="table-layout:fixed;" ></ table >
278 <!-- 为克隆提供模板 -->
279 < table style ="display:none;" >
280 < tr id ="tr_ie_pb" >
281 < td width ="410" >< nobr ></ nobr ></ td >
282 < td width ="100%" >< a href ="javascript:void(0);" class ="DelTabIe" hidefocus ="true" > 删除 </ a ></ td >
283 </ tr >
284 </ table >
285 </ div >
286 </ td >
287 </ tr >
288 < tr >
289 < td height ="25" >< a href ="javascript:void(0);" id ="UseKSfa" hidefocus ="true" > 2.使用金山急救箱修复IE首页 </ a ></ td >
290 </ tr >
291 < tr >
292 < td height ="25" >< a href ="javascript:void(0);" hidefocus ="true" id ="ToFeedBack" > 3.向网盾研发人员反馈,请注意留下您的联系方式 </ a ></ td >
293 </ tr >
294 </ table >
295 </ div >
296 </ div >
297 </ div >
298 < div id ="DivBkList" style ="display:none;" >
299 < div class ="DivSetMenu" >
300 < div id ="BkListMenu" class ="CLSBkListMenu" >
301 < table >
302 < tr >
303 < td width ="5" >< img src ="images/index/table_button_left.jpg" /></ td >
304 < td width ="72" class ="menu_on" > 网站黑名单 </ td >
305 < td width ="3" >< img src ="images/index/table_button_right.jpg" /></ td >
306 </ tr >
307 </ table >
308 </ div >
309 < div id ="BkListMenu_1" class ="CLSBkListMenu" style ="display:none;" > 网站黑名单 </ div >
310 < div id ="FilterMenu" class ="CLSFilterMenu" style ="display:none;" >
311 < table >
312 < tr >
313 < td width ="5" >< img src ="images/index/table_button_left.jpg" /></ td >
314 < td width ="100" class ="menu_on" > 网页内容净化 </ td >
315 < td width ="3" >< img src ="images/index/table_button_right.jpg" /></ td >
316 </ tr >
317 </ table >
318 </ div >
319 < div id ="FilterMenu_1" class ="CLSFilterMenu" > 网页内容净化 </ div >
320 </ div >
321 < div id ="DivAddBkList" >
322 < table >
323 < tr >
324 < td colspan ="5" height ="35" class ="BkTit" > 将你认为存在威胁网址添加到黑名单,金山网盾将阻止对该网站的访问 </ td >
325 </ tr >
326 < tr >
327 < td height ="35" >< input type ="text" mamaxlength ="128" id ="TextAddURL" value ="" /></ td >
328 < td width ="88" >< input type ="radio" value ="1" name ="WebType" checked id ="ChkTypeM" />< label for ="ChkTypeM" > 带毒网站 </ label ></ td >
329 < td width ="88" >< input type ="radio" value ="3" name ="WebType" id ="ChkTypeD" />< label for ="ChkTypeD" > 欺诈网站 </ label ></ td >
330 < td width ="88" >< input type ="radio" value ="4" name ="WebType" id ="ChkTypeV" />< label for ="ChkTypeV" > 恶意广告 </ label ></ td >
331 < td >< div id ="BtnAddBkList" class ="BtnComBig" > 添加到黑名单 </ div ></ td >
332 </ tr >
333 </ table >
334 </ div >
335 <!-- 模拟表格头部 -->
336 < div id ="DivListTabHead" >
337 < table class ="TabListHead" >
338 < tr height ="24" >
339 < td width ="350" style ="padding-left:30px;" > 网址 </ td >
340 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
341 < td width ="100" style ="padding-left:30px;" > 性质 </ td >
342 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
343 < td width ="85" style ="padding-left:30px;" > 删除 </ td >
344 </ tr >
345 </ table >
346 </ div >
347 <!-- 带滚动条表格 -->
348 < div id ="DivListTab" >
349 < table id ="TabBkList" class ="TabCom" >
350 </ table >
351 < table style ="display:none;" >
352 < tr height ="18" id ="TrForCreateBkList" >
353 < td width ="353" style ="padding-left:10px;" ></ td >
354 < td width ="103" ></ td >
355 < td width ="68" >< a href ="javascript:void(0);" class ="DelBkList" > 删除 </ a ></ td >
356 </ tr >
357 </ table >
358 </ div >
359 < div id ="DivListLink" >
360 < table >
361 < tr >
362 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="notify_import_black_url" > 导入 </ a ></ td >
363 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="notify_export_black_url" > 导出 </ a ></ td >
364 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="notify_clean_black_url" > 清空 </ a ></ td >
365 < td width ="130" align ="center" > 当前第 < span id ="cur_page" > 1 </ span > / < span id ="total_page" > 1 </ span > 页 </ td >
366 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="first_page" > 首页 </ a ></ td >
367 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="prev_page" > 上页 </ a ></ td >
368 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="next_page" > 下页 </ a ></ td >
369 < td width ="40" >< a href ="javascript:void(0);" hidefocus ="true" id ="last_page" > 末页 </ a ></ td >
370 < td width ="75" style ="padding-top:0px;" > 转到 < input type ="text" id ="go_page" value ="" style ="width:30px;" size ="1" maxlength ="6" /></ td >
371 < td width ="30" style ="padding-top:0px;" >< img id ="Btn_go" style ="cursor:pointer;" src ="images/index/go_normal.gif" alt ="转到" /></ td >
372 </ tr >
373 </ table >
374 </ div >
375 <!-- 改成 网页净化 -->
376 < div id ="DivFilterSetContent" style ="display:none;" >
377 < div id ="FilterSetTip" >
378 < table >
379 < tr >< td height ="30" >< input type ="checkbox" id ="StartFilter" /> < label for ="StartFilter" style ="color:#326D00;font-weight:700;outline:none;" > 启用网页内容净化 </ label ></ td >< td ></ td ></ tr >
380 < tr >< td style ="padding-left:30px;height:30px;" >< input type ="text" id ="InputFilter" value ="" maxlength ="256" ></ td >< td style ="padding-left:30px;" >< div id ="DivAddFilter" class ="BtnComMid" > 添 加 </ div ></ tr >
381 </ table >
382 </ div >
383 <!-- 模拟表格头部 -->
384 < div id ="DivFilterTabHead" >
385 < table class ="TabListHead" >
386 < tr height ="24" >
387 < td width ="37" style ="padding-left:10px;" > 启用 </ td >
388 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
389 < td width ="410" style ="padding-left:30px;" > 规则 </ td >
390 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
391 < td width ="67" style ="padding-left:30px;" > 删除 </ td >
392 </ tr >
393 </ table >
394 </ div >
395 <!-- 带滚动条表格 -->
396 < div id ="DivScroFilterTab" >
397 < table id ="TabFilterList" class ="TabCom" >
398 </ table >
399 < table style ="display:none;" >
400 < tr height ="20" id ="TrForCreateFilter" >
401 < td width ="43" align ="center" >
402 < input type ="checkbox" class ="StartItemFilter" checked ="true" />
403 </ td >
404 < td width ="390" style ="padding-left:10px;" >< nobr ></ nobr ></ td >
405 < td width ="70" align ="center" >< a href ="javascript:void(0);" class ="DelFilter" > 删除 </ a ></ td >
406 </ tr >
407 </ table >
408 </ div >
409 < div id ="DivLinkCustom" >
410 < a href ="javascript:void(0);" hidefocus ="true" id ="notify_import_filter_rule" > 导入 </ a >
411
412 < a href ="javascript:void(0);" hidefocus ="true" id ="notify_export_filter_rule" > 导出 </ a >
413 </ div >
414 </ div >
415 </ div >
416
417 < div id ="DivLog" style ="display:none;" >
418 < div id ="LogTabTit" >
419 < table >
420 < tr >
421 < td width ="127" style ="padding-left:30px;" > 时间 </ td >
422 < td width ="3" >< img src ="images/index/rz_table_line.gif" /></ td >
423 < td width ="399" style ="padding-left:30px;" > 日志内容 </ td >
424 </ tr >
425 </ table >
426 </ div >
427 < div id ="LogTabContent" >
428 < table id ="TabLog" style ="table-layout:fixed;" ></ table >
429 < table style ="width:519px;table-layout:fixed;display:none;" >
430 < tr height ="20" id ="TrForCreateLog" >
431 < td width ="145" ></ td >
432 < td width ="100%" ></ td >
433 </ tr >
434 </ table >
435 </ div >
436 < div id ="LogBtn" >
437 < table >
438 < tr >
439 < td width ="70" >< a href ="javascript:void(0);" hidefocus ="true" id ="RefreshLog" > 刷新日志 </ a ></ td >
440 < td width ="70" >< a href ="javascript:void(0);" hidefocus ="true" id ="CleanLog" > 清空日志 </ a ></ td >
441 < td >< a href ="javascript:void(0);" id ="notify_view_log" > 查看全部日志 </ a ></ td >
442 </ tr >
443 </ table >
444 </ div >
445 </ div >
446 </ div >
447 < div id ="DivBottom" >
448 < table >
449 < tr >< td width ="470" align ="right" >< a target ="_blank" hidefocus ="true" href ="http://blog.duba.net/wd" > 拦截测试 </ a ></ td >
450 < td width ="100" align ="right" >< a target ="_blank" hidefocus ="true" href ="http://labs.duba.net/dairy_wd.shtml" > 更新日志 </ a ></ td >
451 < td width ="120" align ="center" >< a target ="_blank" hidefocus ="true" href ="http://bbs.duba.net/forum-6394-1.html" > 网盾论坛 </ a ></ td >
452 </ tr >
453 </ table >
454 <!-- Begin 事件触发C++ -->
455 <!-- Begin 首页 -->
456 < input type ="hidden" id ="query_init_param" title ="查询默认先显示哪个页面" />
457 < input type ="hidden" id ="notify_sysmenu_close" title ="关闭界面" />
458 < input type ="hidden" id ="notify_sysmenu_minimize" title ="最小化界面" />
459 < input type ="hidden" id ="query_version_time" title ="查询版本信息" />
460 <!-- input type="hidden" id="notify_call_update" title="调用升级"/ -->
461 < input type ="hidden" id ="query_log_count" title ="查询日志数量,拦截网页木马病毒总数" />
462 < input type ="hidden" id ="notify_clean_log" title ="清空日志,清零" />
463 < input type ="hidden" id ="notify_setting_enable_kws" title ="通知网盾开启与关闭,保护浏览器开启与关闭" />
464 < input type ="hidden" id ="query_setting_enable_kws" title ="查询网盾是否开启" />
465 < input type ="hidden" id ="notify_setting_enable_sep" title ="搜索引擎保护开启与关闭" />
466 < input type ="hidden" id ="query_setting_enable_sep" title ="查询搜索引擎保护是否开启" />
467 < input type ="hidden" id ="query_prot_days" title ="查询保护了多少天" />
468 < input type ="hidden" id ="notify_call_ksfa" title ="调用急救箱" />
469 < input type ="hidden" id ="newsinfo" title ="刷XXX" />
470 < input type ="hidden" id ="open_dlg" title ="打开关于对话框" />
471 <!-- End 首页 -->
472 <!-- Begin 日志 -->
473 <!-- <input type="hidden" id="notify_view_log" title="用记事本打开(查看全部日志)">直接附在元素上 -->
474 < input type ="hidden" id ="query_log" title ="查询日志详细信息" />
475 <!-- End 日志 -->
476 <!-- Begin 黑名单 -->
477 < input type ="hidden" id ="query_black_url" title ="查询黑名单" />
478 < input type ="hidden" id ="notify_del_balck_url" title ="删除黑名单" />
479 < input type ="hidden" id ="notify_add_black_url" title ="添加黑名单" />
480 < input type ="hidden" id ="notify_export_black_url" title ="导出黑名单" />
481 < input type ="hidden" id ="notify_import_black_url" title ="导入黑名单" />
482 <!-- End 黑名单 -->
483 <!-- Begin 设置 -->
484 < input type ="hidden" id ="query_bat_setting_basic" title ="查询基础设置" />
485 < input type ="hidden" id ="notify_bat_setting_basic" title ="更改基础设置" />
486 < input type ="hidden" id ="query_setting_color_dlg" title ="打开颜色选择对话框" />
487 < input type ="hidden" id ="notify_def_basic_setting" title ="基础设置恢复默认设置" />
488 < input type ="hidden" id ="query_fileopen_dialog" title ="打开文件选择器" />
489 < input type ="hidden" id ="notify_setting_add_exe" title ="添加保护EXE" />
490 < input type ="hidden" id ="notify_setting_del_exe" title ="删除保护EXE" />
491 < input type ="hidden" id ="query_protected_exe" title ="查询保护EXE" />
492 <!-- End 设置 -->
493 <!-- Begin 意见反馈 -->
494 < input type ="hidden" id ="notify_set_feedback_time" title ="设置意见反馈时间" />
495 <!-- End 意见反馈 -->
496 <!-- Begin IE 首页保护 -->
497 < input type ="hidden" id ="query_startpage" title ="查询保护的首页url" />
498 < input type ="hidden" id ="notify_set_startpage" title ="锁定IE首页" />
499 < input type ="hidden" id ="notify_add_ssp" title ="增加屏蔽首页" />
500 < input type ="hidden" id ="notify_del_ssp" title ="删除屏蔽首页" />
501 < input type ="hidden" id ="query_ssp" title ="查询屏蔽首页列表" />
502 < input type ="hidden" id ="query_locksp" title ="查询是否开启IE首页保护" />
503 < input type ="hidden" id ="notify_set_locksp" title ="通知是否开启IE首页保护" />
504 < input type ="hidden" id ="change_svt" title ="专版转换普通" />
505 <!-- End IE 首页保护 -->
506 <!-- Begin 网页净化 -->
507 < input type ="hidden" id ="query_set_filter" title ="查询是否开启净化" />
508 < input type ="hidden" id ="notify_set_filter" title ="设置是否开启净化" />
509 < input type ="hidden" id ="notify_add_filter_rule" title ="增加规则" />
510 < input type ="hidden" id ="notify_del_filter_rule" title ="删除规则" />
511 < input type ="hidden" id ="query_filter_rule" title ="查询规则列表" />
512 < input type ="hidden" id ="notify_export_filter_rule" title ="导出" />
513 < input type ="hidden" id ="notify_import_filter_rule" title ="导入" />
514 <!-- End 网页净化 -->
515
516 <!-- End 事件触发C++ -->
517 </ div >
518 </ div >
519 </ body >
520 </ html >
我们首先关注一下
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
2 < div id ="DivSystemBtn" >
3 < img src ="images/index/icob1_normal.gif" />
4 < img src ="images/index/icob2_normal.gif" />
5 < img src ="images/index/icob3_normal.gif" />
6 </ div >
7 < div id ="DivMenuFeedBack" >
8 < a href ="javascript:void(0);" hidefocus ="true" >< img src ="images/index/fankui_normal.gif" /></ a >
9 </ div >
10 </ div >
这里的DivTitle和DivSystemBtn的CSS定义如下:
#DivTitle
{
position:relative;
width:100%;
height:68px;
}
#DivSystemBtn
{
left:637px;
height:30px;
top:8px;
width:53px;
position:absolute;
}
DivTitle自然不必说了,望文生意即可明白它是相当于WINFORM软件标题部分的一个DIV。
DivSystemBtn即是放“关于”、“最小化”、“关闭”按钮的一个DIV容器。
以“最小化”为例阐述一下WEB与WINFORM的交互过程:
<!--Begin 事件触发C++-->
<!--Begin 首页-->
<input type="hidden" id="query_init_param" title="查询默认先显示哪个页面"/>
<input type="hidden" id="notify_sysmenu_close" title="关闭界面"/>
<input type="hidden" id="notify_sysmenu_minimize" title="最小化界面"/>
<input type="hidden" id="query_version_time" title="查询版本信息"/>
<!--input type="hidden" id="notify_call_update" title="调用升级"/-->
<input type="hidden" id="query_log_count" title="查询日志数量,拦截网页木马病毒总数"/>
<input type="hidden" id="notify_clean_log" title="清空日志,清零"/>
<input type="hidden" id="notify_setting_enable_kws" title="通知网盾开启与关闭,保护浏览器开启与关闭"/>
<input type="hidden" id="query_setting_enable_kws" title="查询网盾是否开启"/>
<input type="hidden" id="notify_setting_enable_sep" title="搜索引擎保护开启与关闭"/>
<input type="hidden" id="query_setting_enable_sep" title="查询搜索引擎保护是否开启"/>
<input type="hidden" id="query_prot_days" title="查询保护了多少天"/>
<input type="hidden" id="notify_call_ksfa" title="调用急救箱"/>
<input type="hidden" id="newsinfo" title="刷XXX"/>
<input type="hidden" id="open_dlg" title="打开关于对话框"/>
<!--End 首页-->
<!--Begin 日志-->
<!--<input type="hidden" id="notify_view_log" title="用记事本打开(查看全部日志)">直接附在元素上-->
<input type="hidden" id="query_log" title="查询日志详细信息"/>
<!--End 日志-->
<!--Begin 黑名单-->
<input type="hidden" id="query_black_url" title="查询黑名单"/>
<input type="hidden" id="notify_del_balck_url" title="删除黑名单"/>
<input type="hidden" id="notify_add_black_url" title="添加黑名单"/>
<input type="hidden" id="notify_export_black_url" title="导出黑名单"/>
<input type="hidden" id="notify_import_black_url" title="导入黑名单"/>
<!--End 黑名单-->
<!--Begin 设置-->
<input type="hidden" id="query_bat_setting_basic" title="查询基础设置"/>
<input type="hidden" id="notify_bat_setting_basic" title="更改基础设置"/>
<input type="hidden" id="query_setting_color_dlg" title="打开颜色选择对话框"/>
<input type="hidden" id="notify_def_basic_setting" title="基础设置恢复默认设置"/>
<input type="hidden" id="query_fileopen_dialog" title="打开文件选择器"/>
<input type="hidden" id="notify_setting_add_exe" title="添加保护EXE"/>
<input type="hidden" id="notify_setting_del_exe" title="删除保护EXE"/>
<input type="hidden" id="query_protected_exe" title="查询保护EXE"/>
<!--End 设置-->
<!--Begin 意见反馈-->
<input type="hidden" id="notify_set_feedback_time" title="设置意见反馈时间"/>
<!--End 意见反馈-->
<!--Begin IE 首页保护-->
<input type="hidden" id="query_startpage" title="查询保护的首页url"/>
<input type="hidden" id="notify_set_startpage" title="锁定IE首页"/>
<input type="hidden" id="notify_add_ssp" title="增加屏蔽首页"/>
<input type="hidden" id="notify_del_ssp" title="删除屏蔽首页"/>
<input type="hidden" id="query_ssp" title="查询屏蔽首页列表"/>
<input type="hidden" id="query_locksp" title="查询是否开启IE首页保护"/>
<input type="hidden" id="notify_set_locksp" title="通知是否开启IE首页保护"/>
<input type="hidden" id="change_svt" title="专版转换普通"/>
<!--End IE 首页保护-->
<!--Begin 网页净化-->
<input type="hidden" id="query_set_filter" title="查询是否开启净化"/>
<input type="hidden" id="notify_set_filter" title="设置是否开启净化"/>
<input type="hidden" id="notify_add_filter_rule" title="增加规则"/>
<input type="hidden" id="notify_del_filter_rule" title="删除规则"/>
<input type="hidden" id="query_filter_rule" title="查询规则列表"/>
<input type="hidden" id="notify_export_filter_rule" title="导出"/>
<input type="hidden" id="notify_import_filter_rule" title="导入"/>
<!--End 网页净化-->
<!--End 事件触发C++-->
关注其中的 <input type="hidden" id="notify_sysmenu_minimize" title="最小化界面"/>这一句,在kwebapp.js种可以找 到
// 最小化 $.ImgMouseStyle($("#DivSystemBtn img").eq(1),3).click(function() { $("#notify_sysmenu_minimize").click(); });
哈哈,明白了,当点击 #DivSystemBtn里的第2个图片时,触发隐藏按钮notify_sysmenu_minimize的click事件,而notify_sysmenu_minimize的click事件在C#或者C++的程序里是可以截获的。这样就达到了web与winform 的交互目的,下面我来演示一下用C#如何实现一个窗体装载整个WEB页面并带有程序“最小化”功能。
1、创建一个"Windows窗体应用程序"项目,我把项目命名为KSWebShieldSVC,然后修改默认的From1.cs名称为FrmMain.cs,把“金山网盾”的webui文件夹拷贝到项目的bin/Debug目录下
2、修改窗体属性设置边框为无,并设置窗体大小为690*514(这个尺寸当然要根据您的web页的大小适当设置了)
3、往窗体中拖一个webBrowser1进来
4、 FrmMain_Load事件书写如下:
private void FrmMain_Load(object sender, EventArgs e)
{
string path = AppDomain.CurrentDomain.BaseDirectory + @"webui\kwebshield\main.htm";
this.webBrowser1.Navigate(path);
}
5、给webBrowser1添加DocumentCompleted事件:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument htmlDoc = webBrowser1.Document;
HtmlElement btnElement = htmlDoc.All["notify_sysmenu_minimize"];
if (btnElement != null)
{
btnElement.Click += new HtmlElementEventHandler(HtmlBtnClose_Click);
}
}
6、书写最小化按钮的单击事件:
private void HtmlBtnClose_Click(object sender, EventArgs e)
{
if(base.WindowState != FormWindowState.Minimized)
base.WindowState = FormWindowState.Minimized;
}
OK,此时运行程序,界面显示后,点击web上的最小化按钮,程序就最小化了,呵呵,真爽
下次将讲解一下如何拖动窗体,并放出DEMO,敬请期待!!!
我纳闷,为什么我写的文章无法发布到博客园首页而只能发布到候选区呢?