
针对WINDOWS XP *** 作系统:
1、打开浏览器-工具-INTERNET选项-隐私,取消“阻止d出窗口”选项;
2、如电脑装有YAHOO工具栏、QQ工具栏等,请取消“拦截d出广告”选项;
3、如电脑装有防火墙软件,也取消“拦截d出广告”选项。
由于Windows系统的特殊处理,即使是用WH_KEYBOARD_LL低级键盘Hook,也无法屏蔽Ctrl+Alt+Del组合键。呵呵,就连微软自己也做不到,Virtual PC虚拟机有个专门的菜单选项来向虚拟系统发送Ctrl+Alt+Del消息。
既然拦截不了,就只能在任务管理器启动后再做文章了……
首先,用Spy++获取任务管理器的窗口类名和标题。
思路很简单,设置一个Timer,定时用FindWindow函数来寻找任务管理器窗口,如果找到,就以窗口句柄作为参数并调用SendMessage函数向其发送WM_CLOSE消息,将其关闭。或者用更暴力点的,获得进程句柄,然后TerminateProcess搞定。
其实,我们也可以换一种思路,你写锁屏软件为什么要屏蔽任务管理器?当然是怕被Kill,所以先下手为强,是吧?呵呵~ Kill进程不一定非要用任务管理器的,一些老鸟可以在cmd下用taskkill /f /im命令来结束你的进程。
像这类软件,运行在ring3模式下,隐患很多,可以通过N多种方法被Kill掉。如果你能把它写成ring0进程,就不用费心考虑屏蔽这个、屏蔽那个了……
至于对话框半透明的问题,也很简单,先搞到目标窗口的句柄,然后用API函数SetLayeredWindowAttributes就可以搞定。具体用法,查MSDN吧:) 顺便提醒一下,目标窗体需要具有WS_EX_LAYERED扩展风格才能设置透明度。可以在调用这个函数之前先用SendMessage设置扩展风格。
希望能对你有所帮助。
平民百姓说得没错,很久以前我也回答了一位CSDN上的朋友同样的问题,以下是阻止关机的代码:
private
const
int
WM_QUERYENDSESSION=0x0011;
protected
override
void
WndProc(ref
Message
m)
{
int
i=0;
switch(mMsg)
{
case
WM_QUERYENDSESSION:
mResult=(IntPtr)i;
break;
default:
baseWndProc(ref
m);
break;
}
}
---------------------------------
当然你关了电源就没办法阻止了,不过还是可以在关机前保存数据的(在case
WM_QUERYENDSESSION:处添加代码就行了)
Win10系统解除打开程序被阻止的方法:
1、打开 Internet Explorer。
2、在“工具”菜单上,单击“Internet 选项”。
3、在“内容”选项卡上,单击“发行商” 或 “发行者”。
4、在“未受信任的发行者”选项卡上,单击要解除阻止的发行商。
以上就是关于Windows XP *** 作系统,怎么关闭 *** 作系统自带的d出窗口拦截工具全部的内容,包括:Windows XP *** 作系统,怎么关闭 *** 作系统自带的d出窗口拦截工具、C++如何使自己的程序屏蔽windows欢迎界面、c# winform中怎么截获处理windows关闭的消息 C#等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)