乙個公升級程式

2021-09-06 08:25:09 字數 4136 閱讀 5703

首先來的是資料實體

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();

2string mainpro = string

.empty;34

for (int i = 0; i < processnames.count; i++)

58 mainpro =processnames.firstordefault();

10if

11

另外上面用到的checkupdate( )和backup( )方法如下

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為版本名稱,我們可以得到這兩個值,然後再通赤請求,從伺服器得到最新版本資訊...