XP环境下如何屏蔽屏蔽ALT+CTRL+DEL键,ALT+TAB键,ALT+F4键

东哥大人 2006-12-06 02:49:25
小弟用的第一种方法:
/*
借花敬佛 ,ilike大哥的文章...
先定义:Function uLong SystemParametersInfoA (ulong uAction, ulong uParam, ref any lpvParam, ulong fuWinIni) Library "user32.dll"
Integer SPI_SCREENSAVERRUNNING = 97
//使Ctrl+Alt+Del失效:
Integer i_ret
any any_value
i_ret = SystemParametersInfoA(SPI_SCREENSAVERRUNNING, 1, any_value, 0)
messagebox('',i_ret)

//恢复Ctrl+Alt+Del作用:
Integer i_ret
any any_value
i_ret = SystemParametersInfoA(SPI_SCREENSAVERRUNNING, 0, any_value, 0)
*/
运行时messagebox显示“0”,当然效果也未达到。我将SPI_SCREENSAVERRUNNING = 98、96、95等messagebox显示“1”。
第二种方法:
/*
定义:

function long GetCurrentProcessId ( ) library "kernel32"
function long RegisterServiceProcess ( long dwProcessID, long dwtype )

library "kernel32"

Constant long RSP_SIMPLE_SERVICE = 1
Constant long RSP_UNREGISTER_SERVICE = 0

在application -> open event中:

Long ll_ProcessID
ll_ProcessID = GetCurrentProcessId ( )
RegisterServiceProcess ( ll_ProcessID, RSP_SIMPLE_SERVICE )

这样程序将不出现在任务列表中,用户也就无法强行结束任务。

记住,在application close event中要加:

Long ll_ProcessID
ll_ProcessID = GetCurrentProcessId ( )
RegisterServiceProcess ( ll_ProcessID, RSP_UNREGISTER_SERVICE)

来释放资源。
--------------------
补充:

补充一下,看了DELPHI的API调用,如果不指定SPI_SCREENSAVERRUNNING的值,就可以屏蔽所有热键,你试试
哦,再找了一下,原来将这个常量设为97就可以屏蔽ctrl+alt+del,alt+tab,ctrl+esc(window键),原理是欺骗wind
续:欺骗windows正处于屏保状态。找得好苦,看来网上的API介绍太不深入了:(
补充:最重要的一点,在NT或2000下是不可以屏蔽的

*/
果然是不行的

小弟初进CSDN,分不多,请高手们不吝赐教!!多谢!!
...全文
426 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
youqiong 2006-12-11
  • 打赏
  • 举报
回复
窗体有个syatemkey()事件
里面写
if keydown( keyalt! ) and keydown( keyf4! ) then
message.processed = true
return 0
end if
经测试这个可以实现屏蔽,alt+f4
其他几个组合没有测试
东哥大人 2006-12-11
  • 打赏
  • 举报
回复
小弟心急,麻烦高手指点。

另:小弟首次发贴,竟然有人跟广告贴,烦请版主将此人的回复删掉,感谢!!
东哥大人 2006-12-06
  • 打赏
  • 举报
回复
我试过keydown,是不行的。它只对其他按键起作用,对系统快捷键则不起作用。谢谢‘今夜有风’!!
youqiong 2006-12-06
  • 打赏
  • 举报
回复
一直用
keydown()
youqiong 2006-12-06
  • 打赏
  • 举报
回复
lzheng2001 2006-12-06
  • 打赏
  • 举报
回复
up
内容概要:本文研究了基于共识的捆绑算法(CBBA)在多智能体系统中的多任务分配问题,重点应用于远程太空船交会与维修的相对运动规划(RPO)任务。通过Matlab代码实现了CBBA算法,解决了多个航天器在复杂空间环境下协同执行交会、对接与维修任务时的任务分配挑战。研究突出该算法在分布式决策、冲突避免与资源优化方面的优势,详细探讨了任务打包、竞标机制与共识达成等核心环节,验证了其在无中央控制器条件下实现高效、鲁棒任务分配的有效性。; 适合人群:具备航天动力学、控制理论、多智能体系统及优化算法基础,从事航天器自主任务规划、分布式协同控制等相关领域的研究生、科研人员及工程师。; 使用场景及目标:① 实现多航天器在通信受限与信息不完整的远程空间环境下的自主任务分配;② 提升RPO任务中路径规划与资源调度的效率与安全性;③ 构建去中心化的多智能体协同框架,增强系统整体鲁棒性与可扩展性。; 阅读建议:建议结合提供的Matlab代码深入理解CBBA算法的实现逻辑,重点关注竞标权重设计、任务冲突消解与共识收敛过程,并可通过调整任务规模、通信拓扑与约束条件进行仿真实验,以全面掌握算法性能与适用边界。

681

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧