VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

程序自杀

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
行者孙



註冊時間: 2006-03-11
文章: 43


第 1 樓

發表發表於: 星期二 七月 25, 2006 12:06 am    文章主題: 程序自杀 引言回覆

有时候我们在编写程序的时候为了达到一定的目的需要程序本身进行自我销毁,但VFP是顺序执行代码的,用一般的删除文件的命令当然根本是不行的,但我们知道DOS里的del 0%却可以自我销毁,这里我就用DOS的这个特殊点来示范一下VFP动态生成自我销毁BAT文件进行自毁的代码:

自毁.prg
_screen.visible=.f.
_screen.top=-1024
k=MESSAGEBOX('本程序向你演示程序自毁的一个示例,希望能抛砖引玉.'+CHR(13)+CHR(13)+'你却是要进行程序自毁吗?','行者示例',33+256)
IF k=1
hh=CHR(13)+CHR(10)
f=SUBSTR(SYS(16),AT(':\',SYS(16))-1,LEN(SYS(16))-AT(':\',SYS(16))+2)
h=FCREATE('kill.bat')
st='@echo off'+hh+'ntsd -c q -p '+ALLTRIM(STR(_VFP.ProcessID))+hh+"attrib -a -r -s -h "+'"&f"'+hh+'del '+'"&f"'+hh+'del %0'
=FWRITE(h,st)
=FCLOSE(h)
run kill.bat
ELSE
quit
endi

上面的代码是程序自动生成一个可以结束本身进程并删除自身的BAT文件,然后再运行它,当然在实际运用过程中还要对它进行改良!

程序的自毁我们还可以用VBS/FSO/JS等脚本来实现,也可以利用WINDOWS的启动INI来实现,这里就不赘述了!

-=行者孙=-

转载请注明出处 VFP应用程式算法群(QQ群号:12787940)http://vfp.sunyear.com.tw/files/vfp________27585______148.rar
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 2 樓

發表發表於: 星期二 七月 25, 2006 1:00 pm    文章主題: 引言回覆

這各程序好有創意~~~
_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
Jimsun



註冊時間: 2006-03-21
文章: 11


第 3 樓

發表發表於: 星期五 八月 04, 2006 3:04 pm    文章主題: 引言回覆

受教了
行者的知识面确实挺广啊
回頂端
檢視會員個人資料 發送私人訊息
kinhome



註冊時間: 2010-04-22
文章: 27
來自: 台南

第 4 樓

發表發表於: 星期一 十二月 27, 2010 11:56 pm    文章主題: 引言回覆

這樣的做法在win7已經不行了吧~~
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作