請問一個程式自動昇級的問題!!! |
尚未結案
|
sincereli
一般會員 發表:6 回覆:7 積分:2 註冊:2003-10-14 發送簡訊給我 |
|
HomeSound
中階會員 發表:44 回覆:178 積分:94 註冊:2002-08-31 發送簡訊給我 |
sincereli您好:
(爛方法)可以用編寫一檔案Wininit.ini內容如下:
[rename]
C:\WINDOWS\SYSTEM\abc.dll=C:\WINDOWS\SYSTEM\_def.dll
C:\WINDOWS\SYSTEM\123.drv=C:\WINDOWS\SYSTEM\_123.001
存檔後置於 windows目錄,下次開機就會自動更新了
_def.dll是更新檔,abc.dll是舊檔
Wininit.ini在Dos環境時就更新了不會有占住檔案的情況
另一種是,寫個檢查程式,更新完再呼叫執行主程式亦可.
如果場合不適用,勿怪. --==多看.多學.多聽==--
------
--==多看.多學.多聽==-- |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 我編寫暸一個主程式和一個昇級程式,昇級程式是根據服務器上和本地所用的dll的脩改時間來判斷是否需要昇級。但是現在的問題是我的主程式一起動就會載入這些dll,這樣昇級程式就不能用新的dll覆蓋當前的dll暸。本來想通過脩改dll名字和后綴名來做的,但是因為這些dll是程式一起動就被載入(程式主界麵顯示的需要),所以還是有問題。請問大傢有什么好的解決方法?或者設計自動昇級程式有什么其他比較好的方式么,能否以代碼示之?謝謝各位暸!! sincereli 你好: (1)系統架構的改變: 如果你的 DLL 一直在被鎖定的狀態,自然是無法被動態更 新的,因此,如果可以的話,是否嘗試把你的 DLL 改成動態連結的方式,只 有在被使用到的時候才被載入,這樣就可以做到動態更新 (2)不同的兩個程序: 昇級的程式最好寫成另外一個 EXE,當使用者啟動此昇級 程式的時候,會先檢查原來的主程式是否正在執行,如果正在執行的話,先 關掉原來的主程式,然後進行更新的動作,待更新完成以後,再重新啟動原 來的主程式 (3)所有的關鍵字,建議你自己善用本站的搜尋功能 (a)Static Link Library/Dynamic Link Library (b)FindWindow/SendMessage (c)ShellExecute (d)...還有其他的,看情況而定-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |