另类屏蔽系统键(Ctrl+Alt+Del)兼谈www.vbaccelerator.com网站

news/2024/4/28 11:59:28/文章来源:https://blog.csdn.net/retty85/article/details/1515398
学习技术最好的方式就是拜读优秀的源码,不仅让你学习到先进的技术,更教会你如何编码:编码的风格、注释、思路等等。这段时间我给我自己定了一个目标,就是研究优秀的源码:MenuHook、Skins、Form++等等。

        在www.vbaccelerator.com上看到了一篇关于创建桌面的代码,代码很简短,用了几个API函数,就实现了新桌面的创建,这个新桌面与我们的默认的桌面没有任何关系,在我们新的桌面上你可以打开相应的应用程序。其实本质上它不是“屏蔽”了系统键(Ctrl+Alt+Del),这三个键系统照样相应,只不过windows任务管理器出现在默认桌面,在新创建的桌面没有显示罢了,不过效果却达到了(此外、windows其它的系统键也一概是这样被屏蔽了)。这种方法对工控开发很有好处,因为工业监控程序都是全屏,并且独占系统的资源(一般不允许打开非监控程序的软件),所以新开一个桌面给工控程序用是完全可能和有必要的,并且效果绝佳(并不需要用各种技术来屏蔽系统键了),此外在程序中我们还可以检测自己运行在哪一个桌面的,如果不是预定的桌面,我们的程序可以拒绝运行,这样可以避免一些非独立的组件单独被加载。

       这是创建桌面的关键源码,具体请上www.vbaccelerator.com网站查看。

 '*************************************************************************
'**函 数 名:Create
'**输    入:ByVal sDesktopName(String) -
'**输    出:无
'**功能描述:创建一个指定名称的左面
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2005-12-27 12:01:48
'**修 改 人:
'**日    期:
'**版    本:V1.0.3
'*************************************************************************
Public Sub Create(ByVal sDesktopName As String)
    Dim lR As Long
   
    '返回当前线程所在的桌面句柄
    m_hDesktopThreadOld = GetThreadDesktop(GetCurrentThreadId())
   
    '判断DLL调用是否有误
    ApiErrorHandler Err.LastDllError, (m_hDesktopThreadOld = 0)
   
    '当前选择的桌面
    m_hDesktopInputOld = OpenInputDesktop(0, False, DESKTOP_SWITCHDESKTOP)
    ApiErrorHandler Err.LastDllError, (m_hDesktopInputOld = 0)
   
    '创建桌面
    m_hDesktop = CreateDesktop(StrPtr(sDesktopName), ByVal 0&, ByVal 0&, 0, GENERIC_ALL, ByVal 0&)
    ApiErrorHandler Err.LastDllError, (m_hDesktop = 0)
   
    If Not (m_hDesktop = 0) Then
        lR = SetThreadDesktop(m_hDesktop)
        lR = SwitchDesktop(m_hDesktop)
        m_sDesktop = sDesktopName
    End If

End Sub

'*************************************************************************
'**函 数 名:ClearUp
'**输    入:无
'**输    出:无
'**功能描述:
'**全局变量:
'**调用模块:
'**作    者:叶帆
'**日    期:2005-12-27 13:00:27
'**修 改 人:
'**日    期:
'**版    本:V1.0.3
'*************************************************************************
Public Sub ClearUp()
    If Not (m_hDesktopInputOld = 0) Then
        SwitchDesktop m_hDesktopInputOld           '设置为默认的桌面
        m_hDesktopInputOld = 0
    End If
    If Not (m_hDesktopThreadOld = 0) Then
        SetThreadDesktop m_hDesktopThreadOld       '默认原桌面线程
        m_hDesktopThreadOld = 0
    End If
    If Not (m_hDesktop = 0) Then
        CloseDesktop m_hDesktop                    '关闭新创建的桌面
        m_hDesktop = 0
    End If
End Sub

==========================================

       www.vbaccelerator.com网站真是一个国外较为优秀的VB开源网站,虽然在2005年之前就停止更新了,不过上面的技术还是值得我们深入研究的。

      仔细研究网站上面的源码,你发现几乎所有的源码都会引用一个SSubTmr6.dll组件,其实这个组件是VB开发的一个COM(进程内组件),实现的就是窗口的子类功能(此外包含一个API 创建的定时器)。

      此外用的最多的就是GUI库的API,大都是创建一个内存DC,在此基础上用API进行内存DC操作。由于我MFC大部分做的都是后台驱动,所以GUI的知识掌握不太多,所以看这部分就比较吃力,所以我觉的要想学习好windows编程,VC必须要学,因为它从底层向你展现程序实现的细节,你能理解并且可以设计出更高级的应用。

     谈点自己的感触:如果把VB仅仅当成一个工具,那是非常好的事,如果把它作为全部,那是最可悲的事。观摩高手的编码,无一不显示这个高手对底层精湛的了解。读读梁肇新的《编程高手箴言》也许你感悟更多。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_891478.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux个人网站配置初学习---搭建web服务

一、输入指令先检查有无httpd软件包 1、检查有无httpd软件包 #rpm –qa|grep httpd2、出现以下类似版本信息表示已安装 3、启动服务: #service httpd start #usr/sbin/apachectl start若提示:httpd: Could not reliably determine the server’s fu…

CSS技巧,网站灰色素装

全国哀悼日,让你的个人网站也灰色素装吧! 在总的CSS的头部加上一句 html { filter:progid:dximagetransform.microsoft.basicimage(grayscale1); } 演示代码如下: 【注:只适用于IE!】 转载于:https://www.cnblogs.com/gudao119/ar…

百度seo,时间因子有用吗?

时间因子还是很有用的,能有效提升页面时效性,更新页面时,也能提醒百度及时抓取。 建议,pc端和移动端的页面都加上时间因子。

【网站总结】前端学习常用的,有用的网站总结

1. MDN官网 https://developer.mozilla.org/zh-CN/https://developer.mozilla.org/zh-CN/ mdn 是Mozilla开发者社区,一个完整的官方的学习前端技术(html,css, js等)的平台注意typyscript是不属于这里的官网一定要看,有…

PHP版本微信支付开发----电脑网站扫码支付(native)(心得、总结)

PHP版本微信支付开发----电脑网站扫码支付(native)(心得、总结) 一、申请微信公众服务号并进行认证 二、下载微信支付demo,修改配置信息 1.开发文档 我做的项目是电脑网站,所以就选择了native支付 在这里可以下载demo&#xff…

2019年SEOer必备黑科技浏览器插件——5118站长工具箱

今天要为大家介绍一款SEOer必备黑科技——5118站长工具箱 5118站长工具箱是一款十分厉害的浏览器插件,是隐藏在浏览器右上角专业的SEO助手,用于SEOer做SEO的专业辅助工具。 下面我们看下这款黑科技都有哪些功能: SEO大数据分析&#xff1a…

Z-blog 搬家完成后网站内链接无法正常访问怎么解决

网站搬站后发现网站首页是可以打开的而内容页是无法正常访问的。 解决办法: 进入网站后台左侧导航栏点击进入插件管理-静态管理中心-选中“静态”-下滑保存。 重新进入静态管理中心-在选择伪静态-下滑保存即可。 如果发现您的网站还是无法正常访问,需…

JMeter中级篇-8-网站性能测试用例1设计

前面我们学会了如何获取录制web的脚本,如何写一个基本的测试用例,除了基本篇倒数第二篇,简单介绍了下设置负载场景,其实并没有太详细去介绍如何根据一个性能测试场景去设计性能测试用例,接下来三篇,我想从一…

JMeter中级篇-9-网站性能测试用例2设计

这篇,我们继续在前一篇性能测试用例基础之上,添加一点改变(添加断言),同样逐步分析每一个条件,来设计JMeter上的性能测试用例。 网站性能测试案例2: 1.用户人数10人,一分钟之后,全部对服务器进…

JMeter中级篇-10-网站性能测试用例3设计(debug)

这篇我们继续在前面一篇基础上,介绍执行性能测试过程中一些从服务器上返回的数据的收集和保存,方便进行调试和问题定位。 网站性能测试案例3: 1.用户人数10人,2分钟之后,10个用户全部进入系统。 2.用户分别访问3个页…

任意网站商品上货监控提醒(提醒尺码颜色sku)

紧俏的商品总是缺货,只要一补货上架很快就被人抢购一空。怎样才知道商品什么时候上架,选择用木头浏览器监控商品上架提醒,还可以深入监控到具体的尺码颜色型号等sku。 1、先打开需要监控的商品页面,观察一下有货的尺码与无货的尺码…

备份、还原或移动 SharePoint 网站

(转载 http://office.microsoft.com/zh-cn/sharepointdesigner/HA100699392052.aspx) 适用于: Microsoft Office SharePoint Designer 2007 假设您的工作组刚刚在工作组网站上向多个文档库发布了他们最新的季度报告,而您在这个关键时刻希望备份网站。或者假设您的工…

自学网站

不要瞎找了,你要的自学网站我都给你整理好了! 2016-05-13 兿林 金阳光自动化测试 专科生加油吧 一个有爱的大专生平台 微信:cs-jy8 生活在这个充满竞争,血腥味十足分分钟钟就会别人取代的大数据移动互联时代,大家一有…

SQL手工注入网站笔记

SQL手工注入网站笔记 目标网站:http://testphp.vulnweb.com/listproducts.php?cat1 1.判断注入点: http://testphp.vulnweb.com/listproducts.php?cat1’ http://testphp.vulnweb.com/listproducts.php?cat1 and 11 永真条件,回显正常 h…

2012.08.11青岛浩鑫机械网站被收录了,分享一下经验!

前些日子,刚做的网站,刚开始不知道怎么做才能收录,到QQ群里搜SEO群加,咨询他们,然后得出的结论: 青岛浩鑫机械厂-中国喷水织机生产基地!SEO信息百度权重 Google 反链数:0 响应时间: 469毫秒域名IP…

IIS6.0怎么架设一个网站

IIS6.0架设一个网站,其实还是很简单的,只要按照操作步骤,就能实现。 第一步,安装IIS6.0。 IIS6.0一般都是装在windows2003系统上,所以要先下载IIS6.0文件包,20M左右,下载完成后,打开…

网站排名记录[2013.01.02]

橡胶坝 围油栏 橡胶水坝

Python爬虫网站多页电影名和评论

爬取豆瓣电影的电影数据,具体爬取的是电影名和被评论的内容 import requests import re for i in range(1,6):index(i-1)*20url"https://movie.douban.com/review/best/?start{}".format(index)d{"User-Agent": "Mozilla/5.0 (Windows NT…

互联网网站的架构演进

简单介绍了从单机网站到微服务网站的演进,从概念上讲述了什么是微服务。 资源链接https://www.slidestalk.com/s/internet_architecture_revolution 更多优质资源 (示说网)点击登录即可免费下载

【网站可用性自动化监测】python+seleium

【网站可用性自动化监测】pythonseleium 前倾提要:做了网络安全后重保期间需要对用户系统每日进行监测,相关监测脚本网上其实也有很多,但能自己个性化做一下也挺好,太久没做小程序需要写下代码巩固。本次程序开发目的是重保期间每…