不可能的如果不能结束任务的话
Windows系统还能够正常退出吗所以MicroSoft设计成绝对能够结束进程的

解决方案 »

  1.   

    不可能。
    我用ATM(Another Task Manager)连Kernel32.dll、MSGSRV32.EXE之类的都可以终止了。
      

  2.   

    不知道这样行不行,在本程序的unload事件中再次加载自己,并把先前的时间存在文件中。
    Private Sub Form_Unload(Cancel As Integer)
    ......    
    Shell "。。"
    End Sub
    不过你还得用个临时文件或注册表进行数据交换。
      

  3.   

    unload是没有用的,在某些情况下(如强行关闭)程序还未执行unload 就结束了!
      

  4.   

    帮你UP吧这个不好办的本来RegisterServiceProcess GetCurrentProcessId, 1可以隐藏你的程序在win9X系统下使Ctrl+ALT+DEL看不到你的进程,但NT无效总之是不适合你的程序。可能只有用双进程了。UP
      

  5.   

    我说个方法,我事学vc的,至于vb找你怎么做,自己看着办吧:Ctrl+ALT+DEL里有许多进程结束不了(除内核程序之外),是因为他们有线程在内和程序里。api函数CreateRemoteThread就是创建远程线程,它可以把你的线程创建到其它的进程里,如果你创建一个到了system里,在Ctrl+ALT+DEL里程许就无法被关闭(2000下也好使)。要想连关机也对你的程序无效,就要写wdm驱动程序,不相应电源的IRP就行了。要想连断电都结束不了你的程序,那是幻觉
      

  6.   

    我只要在win9x下实现功能。RegisterServiceProcess GetCurrentProcessId
    这样的函数在Ctrl+ALT+DEL可以看不到,但在一些进程查看器下就不起作用了
    如PrcView软件。
    现在好象只能鉴接木马程序编写的原理了,有谁写过这样的程序吗?
      

  7.   

    先声明
    Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
    Declare Function GetCurrentProcessId Lib "kernel32" Alias "GetCurrentProcessId" () As Long接下来:在程序开启时(最好在模块的sub main() 中)RegisterServiceProcess GetCurrentProcessId, 1
      

  8.   

    我认为,想让别人关不掉你的程序是不可能的。你只要实现以下功能就可以满足你的要求:
    1. 开机时自动加载你的程序(可以在WIN.INI文件内写入RUN=apppath&name,写注册表等方法实现);
    2. 退出你的程序时强制重启。(用钩子,当收到WM_CLOSE消息时就重启机器。)
    这样即使他关掉了你的程序他也不能再干什么了。