首先來的是資料實體
1下面這個類時程式的一些引數,包括了系統的配置引數,為了程式能通用一點,就加了配置上去。public
class
fileent24
5public
string src 67
public
string version 89
public
int size
1011
public updateoption option 12}
1314
public
enum
updateoption
15
1接著就介紹程式的**public
class
2
程式是用窗體來實現的,下面三個是窗體新新增的三個字段
1載入窗體時需要檢查更新,如果沒有更新就提示」暫時無更新」;如果有更新的則先進行備份,備份失敗的話提示錯誤退出更新。private
bool isdelete=true; //
是否要刪除公升級配置
2private
bool runninglock = false;//
是否正在公升級
3private thread thread; //
公升級的執行緒
1在這些操作之前還要檢測被更新程式有否啟動,有則將其關閉。if(checkupdate())210
11}12else
13
1 list processnames = new list();另外上面用到的checkupdate( )和backup( )方法如下2string mainpro = string
.empty;34
for (int i = 0; i < processnames.count; i++)
58 mainpro =processnames.firstordefault();
10if
11
1///2
///3
///4
///使用者確認資訊
5public
static
bool
checkupdate()621
22if
(result)
2327
else
28 result = false;29
temp_config.xml");
31return
result;32}
3334
///35
///備份
36///
37public
static
bool
backup()
38
1///2
///更新
3///
4public
void
519 thread = new thread(new threadstart(delegate
2040
else
4145
46if (this
.invokerequired)
47);54}
5556
57 itemindex++;
58if (successcount + failcount == list.count && this
.invokerequired)
59);67}
68 isdelete = failcount != 0;69
if (!isdelete)
7075
else
76 finishmessage = "
公升級完成,但不成功";
77 messagebox.show(finishmessage, "提示"
, messageboxbuttons.ok, messageboxicon.information);
78 runninglock = false;79
}80}81
}82#endregion
83}));
84 runninglock = true;85
thread.start();86}
8788
///89
///執行單個更新
90///
91///
92///
93public
bool
execupdateitem(fileent ent)
94105
catch
106return
result;
107 }
1在這裡展示一下更新的介面。挺醜的,別笑哈。if(runninglock )210
else
1115}16
在這裡還要做另一件事,就是把之前關了的程式重新啟動。
1try25
catch
(exception ex)
6
更新程式的配置資訊如下
更新的配置是這樣子的
src:檔案的url。
version:此檔案的版本號,在本程式中需要這個版本號來確定更新後程式的版本號。
option:只有add和del兩種有效屬性,add表明是新增或者覆蓋本地的檔案,del表示刪除本地的檔案。
在乙個程式中啟動另外乙個程式
最近剛剛開始工作,發現在學校學習的那些基本上知識打打基礎而已,在實際的專案運作中根本就沒用。革命尚未成功,通知仍需努力啊 嘿嘿 上正題 因為我們需要做乙個類似於監控的系統,這樣的話就涉及到多個程式需要同時執行,並且需要有乙個程式 去控制另外乙個程式,之前沒有做過,也沒見過,不過還好,有一同事之前做過...
乙個托盤程式
unit mainunit inte ce uses windows,messages,sysutils,classes,graphics,controls,forms,dialogs,menus,shellapi,extctrls const icon id 1 mi iconevent wm u...
如何判斷乙個程式的版本是否要公升級
判斷當前版本是否需要公升級時,首先與服務端的配置檔案裡內容作比較,如果當前版本小於服務端版本,就公升級,當前的版本號放在androidmainifest.xml配置檔案裡 versioncode為版本號,versionname為版本名稱,我們可以得到這兩個值,然後再通赤請求,從伺服器得到最新版本資訊...