在98中我们可以利用"wininit.ini"来实现,可是在2000中虽然有这个文件,但好像不 管用。我查过资料也证实了这一点。有没有一个适合98和2000系统的方法?

解决方案 »

  1.   

    他们称之自销毁程序,这是刚才找的一种方法,但我看到更牛的大概是用API让程序在内存的那一块锁定解除,然后就可以从容地DEL,只是我看的时候总觉得我用不上算了因為執行中的程式,windows會做適當的保謢,並無法被刪除,所以阿戊利用DOS批次檔非同步的特性,來達到此目的.Private Sub Command1_Click()
    Open "c:\killme.bat" For Output As #1
     Print #1, "@echo off" '讓批次檔不會出現指令訊息
     Print #1, ":aa": Print #1, "if exist c:\killme.exe goto bb" 'c:\killme.exe為本執行檔的完整路徑
     Print #1, "goto cc": Print #1, ":bb"
     Print #1, "del c:\killme.exe": Print #1, "cls" '螢幕訊息立即消掉
     Print #1, "if exist c:\killme.exe goto aa" '殺不死!再殺!
     Print #1, "cls" '再有螢幕訊息也消掉
     Print #1, ":cc": Print #1, "echo Hello!!!>c:\killme.exe " '再補一刀!讓undelete也救不回來!
     Print #1, "del c:\killme.exe": Print #1, "del c:\killme.bat" '連批次檔也自毀
     Print #1, "cls" '最後總清理 Print #1, "exit"
    Close #1
    'dos執行後也消失!工作列上dos會一閃即逝!即成功了!
    Shell "command.com /c c:\killme.bat", 6 
    End '自己結束!後續的工作交給非同步的批次檔完成!
    End Sub
    (有人會質疑,費心寫的程式,又為何要把它毀掉...那不要寫就好了?! "代誌ㄟ意義" 當然不是只是好玩!如果搭配在程式防盜保謢上,也不失為一種方式! ^_^)