一种开发软件的新思路,给Web页面穿个马甲,用web页面做软件UI,用C#(或者C++等其它语言)代码做功能...

喜欢就点一下“推荐”,给我点写下去的动力,谢谢!

声明:

本文版权归作者碧血黄沙.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页面的代码如下:

 

ExpandedBlockStart.gif 代码
  1  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  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                       < 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                                   < 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                                   < 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                                   < 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" >< href ="javascript:void(0);"  title ="查看日志"  id ="SpanHoldCount"  hidefocus ="true"   > 0 </ a ></ td >
 65                                   < td  style ="padding-top:3px;padding-left:10px;" >< 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" >< 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                                       < 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" >< href ="javascript:void(0);"  class ="DelProtExe" > 删除 </ a ></ td >
227                                   </ tr >                         
228                               </ table >
229                           </ div >
230                           < div  id ="DivLinkCustom" >< 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 >< href =""  target ="_blank"  hidefocus ="true"  id ="SVTURL" ></ a ></ td >
257                                   </ tr >
258                                   < tr >
259                                       < td  align ="right" >< 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%" >< 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" >< href ="javascript:void(0);"  id ="UseKSfa"  hidefocus ="true" > 2.使用金山急救箱修复IE首页 </ a ></ td >                                     
290                                   </ tr >
291                                   < tr >
292                                       < td  height ="25" >< 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" >< 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" >< href ="javascript:void(0);"  hidefocus ="true"  id ="notify_import_black_url" > 导入 </ a ></ td >
363                                   < td  width ="40" >< href ="javascript:void(0);"  hidefocus ="true"  id ="notify_export_black_url" > 导出 </ a ></ td >
364                                   < td  width ="40" >< 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" >< href ="javascript:void(0);"  hidefocus ="true"  id ="first_page" > 首页 </ a ></ td >
367                                   < td  width ="40" >< href ="javascript:void(0);"  hidefocus ="true"  id ="prev_page" > 上页 </ a ></ td >
368                                   < td  width ="40" >< href ="javascript:void(0);"  hidefocus ="true"  id ="next_page" > 下页 </ a ></ td >
369                                   < td  width ="40" >< 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" >< href ="javascript:void(0);"  class ="DelFilter" > 删除 </ a ></ td >
406                                   </ tr >                         
407                               </ table >
408                           </ div >
409                           < div  id ="DivLinkCustom" >
410                               < href ="javascript:void(0);"  hidefocus ="true"  id ="notify_import_filter_rule" > 导入 </ a >
411                               &nbsp;&nbsp;&nbsp;&nbsp;
412                               < 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" >< href ="javascript:void(0);"  hidefocus ="true"  id ="RefreshLog" > 刷新日志 </ a ></ td >
440                                   < td  width ="70" >< href ="javascript:void(0);"  hidefocus ="true"  id ="CleanLog" > 清空日志 </ a ></ td >
441                                   < td >< 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" >< target ="_blank"  hidefocus ="true"  href ="http://blog.duba.net/wd" > 拦截测试 </ a ></ td >
450                           < td  width ="100"  align ="right" >< target ="_blank"  hidefocus ="true"  href ="http://labs.duba.net/dairy_wd.shtml" > 更新日志 </ a ></ td >
451                           < td  width ="120"  align ="center" >< 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 >

 

 我们首先关注一下

ExpandedBlockStart.gif 代码
 1  < div  id ="DivTitle" >
 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                       < 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,敬请期待!!!
我纳闷,为什么我写的文章无法发布到博客园首页而只能发布到候选区呢?

 

 

转载于:https://www.cnblogs.com/airfey/archive/2010/02/25/1673157.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值