第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Wpf應(yīng)用程序批量安裝

Wpf應(yīng)用程序批量安裝

C#
互換的青春 2023-07-22 16:28:34
您好,我有一個(gè)包含多個(gè)程序 .exe 的文件夾,我想制作一個(gè)按鈕,單擊后它將啟動(dòng)所有安裝,但必須等待一個(gè)安裝完成才能啟動(dòng)另一個(gè)安裝。我還需要取消按鈕來(lái)停止進(jìn)程。我需要在 wpf 中制作這個(gè)。嘗試使用復(fù)選框,但一旦全部選中并單擊按鈕,則僅啟動(dòng)一個(gè)安裝。
查看完整描述

1 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

一般來(lái)說(shuō),如果您正在運(yùn)行一堆安裝并希望按順序運(yùn)行它們,我會(huì)設(shè)置一個(gè)Task.Factory或BackgroundWorker這樣您就不會(huì)阻塞 UI 線程。我還會(huì)確保您使用 MVVM 來(lái)完成這一切,以使其變得更容易。


我首先為安裝設(shè)置一個(gè)幫助程序類。如果使用 MVVM,這個(gè)類的設(shè)置顯然會(huì)有所不同。


public class Programs

{

    public string InstallName = "";

    public string InstallPath = "";

    public bool ExecuteInstall = false;

    public int InstallProcessID = 0;

}

然后設(shè)置這些集合,并根據(jù)您的復(fù)選框?qū)⑺鼈儤?biāo)記為運(yùn)行或不運(yùn)行。使用 MVVM,您可以將executeInstall 直接綁定到復(fù)選框。


然后是一個(gè)可以工作并由單獨(dú)的線程調(diào)用的函數(shù)。關(guān)鍵在于調(diào)用以及如何使用 Process


        try

        {

            using (Process myProcess = new Process())

            {

                myProcess.StartInfo.FileName = <Your program collection object>.InstallPath;

                myProcess.Start();

                <Your program collection object>.InstallProcessID = myProcess.Id;

                myProcess.WaitForExit();


                // Any follow up code after install has completed.

            }

        }

        catch (Exception ex)

        {

            // Error message that uses ex

        }

取消按鈕可以查找進(jìn)程 ID,然后終止該進(jìn)程。您還可以創(chuàng)建一個(gè)臨時(shí) int var 來(lái)存儲(chǔ)安裝應(yīng)用程序的當(dāng)前進(jìn)程 ID,而不是讓它在集合中設(shè)置某些內(nèi)容。


這就是總體思路。我建議更多地學(xué)習(xí)程序設(shè)計(jì),因?yàn)?stackoverflow 更多的是一個(gè)解決問(wèn)題的特定地方,而不是如何編寫(xiě)一些東西。


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)