1、让程序不出现在CTRL+ALT+DEL弹出的窗口中(深圳:独孤求败2003-05-27)说明:程序是调用SystemParametersInfoAPI函数完成。先定义:FunctionuLongSystemParametersInfoA(ulonguAction,ulonguParam,refanylpvParam,ulongfuWinIni)Libraryuser32.dllIntegerSPI_SCREENSAVERRUNNING=97/使Ctrl+Alt+Del失效:Integeri_retanyany_valuei_ret=SystemParametersInfoA(SPI_SCREE
2、NSAVERRUNNING,1,any_value,0)/恢复Ctrl+Alt+Del作用:Integeri_retanyany_valuei_ret=SystemParametersInfoA(SPI_SCREENSAVERRUNNING,0,any_value,0)上面这段是陶清网站(严格来说这段代码实际是屏蔽了ctrl+alt+del这个键的组合,而并非不让程序出现在任务列表中。这种方法有些缺陷:1.其他程序也无法通过这个ctrl+alt+del关闭了,有时候有些程序还是需要通过这个键关的。2.任务列表并非只能通过ctrl+alt+del打开的,如果通过其他方法打开,那么这种方法就失效了
3、。下面是让程序真正不出现在任务列表的方法:定义:functionlongGetCurrentProcessId()librarykernel32functionlongRegisterServiceProcess(longdwProcessID,longdwtype)librarykernel32ConstantlongRSP_SIMPLE_SERVICE=1ConstantlongRSP_UNREGISTER_SERVICE=0在application-openevent中:Longll_ProcessIDll_ProcessID=GetCurrentProcessId()RegisterServiceProcess(ll_ProcessID,RSP_SIMPLE_SERVICE)这样程序将不出现在任务列表中,用户也就无法强行结束任务。记住,在applicationcloseevent中要加:Longll_ProcessIDll_ProcessID=GetCurrentProcessId()RegisterServiceProcess(ll_ProcessID,RSP_UNREGISTER_SERVICE)来释放资源。