• 一种开发软件的新思路,给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页面的代码如下:

    代码
      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="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="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>

     我们首先关注一下

    代码
     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;
        100%;
        height:68px;

    #DivSystemBtn
    {
        left:637px;
        height:30px;
        top:8px;
        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,敬请期待!!!
    我纳闷,为什么我写的文章无法发布到博客园首页而只能发布到候选区呢?

    新站上线--咱地里 www.zandili.com 科技博客
  • 相关阅读:
    core 3.7.1 报错 SDK.InvalidRegionId : Can not find endpoint to access.
    定时30分钟清除缓存,重置
    文件的分割与合并
    mybatis <collection property="GoodsList" column="orderId" javaType="java.util.List" ofType="ui.model.vo.GoodsList" select="selectOrderDetail" fetchType="eager"/>
    hashMap 源码注释分析(二)
    hashMap 源码注释分析(一)
    ElasticSearch 入门
    Java 三高 ,高并发 ,高可用 。高性能
    使用MyBatis返回map对象,字段值为null时不返回或返回null,目标返回自定义的默认值...
    idea html 中文乱码,控制台中文乱码,工程文件中文乱码
  • 原文地址:https://www.cnblogs.com/airfey/p/1673157.html
Copyright © 2020-2023  润新知