看同事為PB系統自動更新傷神, 就隨手用C寫了段代碼,用gcc編成dll給他使用.
設計思路是這樣的.
系統pbd--->Web 網站-----> Client電腦.
1 .將所有要更新的文件用md5sum計算效驗碼,存成md5sum.txt
格式就是這樣.
2fb9760fcd9cf16b8bf85d2715ae5dd1 *aa.pbd
5a831d59d011d016cdc1adc490f4a042 *bb.pbd
94456f2adb3494e8ca3739b601c7d151 *bmp\log.gif
2. 將這些文件復制到web site,的某個目錄,許可web訪問,限制list 權限.
3. pb系統的Application open事件中下載
4. 利用下載的md5sum.txt和本機比較,不一致就下載更新.
5. api 接口是
C格式: int DLLIMPORT __stdcall updatefromurl(char *url, char *basedir)
PB格式: function ulong updatefromurlA(string url, string basedir) LIBRARY "updatesys.dll"
設計過程中,開使PB call DLL總是出現參數類型錯誤,異常退出.
在google查了下,改成以下的方式就好了.
1. dll定義:int __declspec (dllexport) __stdcall updatefromurl(char *url, char *basedir)
2.建立def文檔
LIBRARY updatesys.dll
EXPORTS
3. 編譯
dllwrap -o updatesys.dll --def webclient.def $(LPATH) updatesys.o $(LIBS)
小小的一個東西,牽涉到的知識點還滿多的.
阅读(2182) | 评论(0) | 转发(0) |