亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        應(yīng)用程序開發(fā)過程中軟件開機(jī)自動(dòng)運(yùn)行的實(shí)現(xiàn)

        2014-04-29 00:00:00常志東趙立平

        摘 要:軟件開機(jī)自動(dòng)運(yùn)行,為用戶操作使用頻率高的軟件提供了便利,它是基于操作系統(tǒng)的系統(tǒng)“啟動(dòng)項(xiàng)”實(shí)現(xiàn)。分析系統(tǒng)啟動(dòng)項(xiàng)的設(shè)置方法,在應(yīng)用程序開發(fā)中,可以通過“寫入注冊(cè)表”和“寫入系統(tǒng)‘啟動(dòng)’文件夾”來組織程序、編寫代碼。

        關(guān)鍵詞:應(yīng)用程序;軟件;開機(jī)自動(dòng)運(yùn)行;操作系統(tǒng);系統(tǒng)啟動(dòng)項(xiàng)

        中圖分類號(hào):TP316.7

        應(yīng)用程序是指為完成某項(xiàng)或某幾項(xiàng)特定任務(wù)而被開發(fā)運(yùn)行于操作系統(tǒng)之上的計(jì)算機(jī)程序。軟件是指程序及與其相關(guān)文檔或其他從屬物的集合。軟件開機(jī)自動(dòng)運(yùn)行,也可稱為程序開機(jī)自動(dòng)加載。要實(shí)現(xiàn)軟件開機(jī)自動(dòng)運(yùn)行,就要在應(yīng)用程序開發(fā)過程中編寫實(shí)現(xiàn)相應(yīng)功能的代碼?;谶\(yùn)行方式的不同,應(yīng)用程序又分為WEB應(yīng)用程序和WINDOWS應(yīng)用程序。WEB應(yīng)用程序是基于B/S(瀏覽器/服務(wù)器)模式,通過WEB訪問的應(yīng)用程序,不需要安裝到本地操作系統(tǒng)中。WINDOWS應(yīng)用程序是基于C/S(客戶端/服務(wù)器)模式,又稱為窗口程序或者桌面程序,是需要將生成的軟件安裝到本地操作系統(tǒng)中,每次使用時(shí)單獨(dú)運(yùn)行才可以在本地操作的程序。這里所講的軟件開機(jī)自動(dòng)運(yùn)行就是指WINDOWS應(yīng)用程序生成的軟件。要實(shí)現(xiàn)軟件開機(jī)自動(dòng)運(yùn)行,我們首先應(yīng)該了解操作系統(tǒng)下,已經(jīng)成功安裝的軟件自動(dòng)運(yùn)行的實(shí)現(xiàn)方式,然后在此基礎(chǔ)上,組織程序,編寫代碼,從而在應(yīng)用程序中實(shí)現(xiàn)功能。下面就從這兩步來展開介紹。

        1 了解操作系統(tǒng)下,軟件開機(jī)自動(dòng)運(yùn)行的設(shè)置

        在操作系統(tǒng)下,要讓軟件開機(jī)自動(dòng)運(yùn)行一般采用三種方式:(1)使用操作系統(tǒng)的“啟動(dòng)”文件夾;(2)程序采用Windows服務(wù)的形式;(3)修改注冊(cè)表。

        下面就對(duì)這三種方式的具體實(shí)現(xiàn)做一下簡(jiǎn)單介紹:(1)使用操作系統(tǒng)的“啟動(dòng)”文件夾:“啟動(dòng)”文件夾中包含著系統(tǒng)中的啟動(dòng)項(xiàng)目,啟動(dòng)項(xiàng)目就是系統(tǒng)開機(jī)運(yùn)行時(shí),會(huì)在前臺(tái)或后臺(tái)運(yùn)行的程序。這些啟動(dòng)項(xiàng)目在應(yīng)用中是指軟件的運(yùn)行快捷方式。將軟件的運(yùn)行快捷方式放到系統(tǒng)的啟動(dòng)項(xiàng)文件夾(C:\Users\計(jì)算機(jī)用戶名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)中就可以實(shí)現(xiàn)程序開機(jī)自動(dòng)加載;(2)采用Windows服務(wù)的形式:Windows服務(wù)應(yīng)用程序是一種需要長(zhǎng)期運(yùn)行的應(yīng)用程序,它對(duì)于服務(wù)器環(huán)境特別適合。它沒有用戶界面,并且也不會(huì)產(chǎn)生任何可視輸出。任何用戶消息都會(huì)被寫進(jìn)Windows事件日志。計(jì)算機(jī)啟動(dòng)時(shí),服務(wù)會(huì)自動(dòng)開始運(yùn)行。它們不要用戶一定登錄才運(yùn)行,它們能在包括這個(gè)系統(tǒng)內(nèi)的任何用戶環(huán)境下運(yùn)行。通過服務(wù)控制管理器,Windows服務(wù)是可控的,可以終止、暫停及當(dāng)需要時(shí)啟動(dòng)。這種方法是將程序在操作系統(tǒng)的后臺(tái)運(yùn)行,不涉及到軟件的頁面,跟本文提到的自動(dòng)運(yùn)行有區(qū)別,確切地說是啟動(dòng)了一項(xiàng)后臺(tái)服務(wù),所以這種方法無法實(shí)現(xiàn)軟件開機(jī)自動(dòng)運(yùn)行、打開軟件界面的操作;(3)修改注冊(cè)表:控制開機(jī)運(yùn)行的程序在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]這個(gè)位置,所以可以在run這一項(xiàng)下面手動(dòng)地添加新的字符串值,然后把這個(gè)字符串的數(shù)值數(shù)據(jù)寫成本軟件的具體的安裝路徑,這個(gè)路徑中應(yīng)包括.exe可執(zhí)行程序,設(shè)置成功后軟件就可以實(shí)現(xiàn)開機(jī)自動(dòng)運(yùn)行了。

        2 分析方法,在應(yīng)用程序下實(shí)現(xiàn)

        在了解了操作系統(tǒng)下軟件開機(jī)自動(dòng)運(yùn)行的設(shè)置方法后,應(yīng)用程序就可以基于這些方法來組織程序,編寫代碼。下面就來介紹這兩種方法在應(yīng)用程序中的實(shí)現(xiàn)。

        首先了解一下.NET技術(shù)與C#腳本語言,.NET是Microsoft XML Web services平臺(tái)。XML Web services允許應(yīng)用程序通過Internet進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。從技術(shù)的角度,一個(gè).NET應(yīng)用是一個(gè)運(yùn)行于.NET Framework之上的應(yīng)用程序。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語言。

        文中介紹的應(yīng)用程序開發(fā)技術(shù)是.NET技術(shù),腳本語言采用的是C#語言。

        在應(yīng)用程序開發(fā)中一般需要通過控件的事件來觸發(fā)其事件過程,在事件過程中添加腳本來實(shí)現(xiàn)功能。在實(shí)際的操作界面中一般選擇使用按鈕(Button)控件或者單選按鈕(RadioButton)控件來實(shí)現(xiàn)。在這里選擇使用按鈕(Button)控件來實(shí)現(xiàn)。單擊“開機(jī)運(yùn)行”按鈕后,執(zhí)行按鈕單擊事件的事件過程,完成對(duì)操作系統(tǒng)中相應(yīng)設(shè)置—寫入注冊(cè)表或者加入系統(tǒng)啟動(dòng)項(xiàng)。下面依次介紹兩種方法的具體實(shí)現(xiàn)。說明:文中使用到的按鈕(Button)控件的ID分別為btn_run(開機(jī)運(yùn)行)和btn_forbit(禁止運(yùn)行)。

        這兩種方法都需要知道軟件安裝后.exe可執(zhí)行文件的詳細(xì)路徑,因此首先設(shè)計(jì)一個(gè)通用函數(shù)以在兩種方法中使用。函數(shù)是用來獲取安裝軟件保存路徑字符串的,是通過應(yīng)用程序名稱到注冊(cè)表中去獲取該子鍵的鍵值,該鍵值即是軟件的安裝路徑。

        2.1 寫入注冊(cè)表的實(shí)現(xiàn)方法。通過單擊按鈕(Button)控件(btn_run)激發(fā)單擊事件,執(zhí)行“寫入注冊(cè)表”的事件過程代碼。整個(gè)過程分兩步:首先獲取安裝后軟件的詳細(xì)路徑(包括.exe可執(zhí)行文件),然后將該路徑字符串作為鍵值寫入注冊(cè)表中的子鍵中。

        2.2 使用操作系統(tǒng)“啟動(dòng)”文件夾的實(shí)現(xiàn)方法。實(shí)現(xiàn)該方法,主要分兩步完成:首先應(yīng)該確定該程序的啟動(dòng)快捷方式是否已經(jīng)創(chuàng)建,如果沒有創(chuàng)建,則先創(chuàng)建軟件的啟動(dòng)快捷運(yùn)行方式,因?yàn)橹挥锌旖葸\(yùn)行方式才可以在非安裝目錄下啟動(dòng)應(yīng)用程序;然后將創(chuàng)建的快捷方式復(fù)制到“啟動(dòng)”文件夾下。整個(gè)實(shí)現(xiàn)過程需要通過以下3個(gè)步驟。

        第1步:建立獲取軟件安裝路徑函數(shù),函數(shù)代碼見上面“獲取軟件安裝路徑代碼”;

        第2步:建立向指定文件夾中添加啟動(dòng)快捷方式的函數(shù)在獲取了軟件的安裝路徑之后,就可以在此基礎(chǔ)上向系統(tǒng)“啟動(dòng)”文件夾中添加啟動(dòng)快捷方式。創(chuàng)建該函數(shù)的腳本如下:(注意:在創(chuàng)建時(shí)要使用到微軟用來創(chuàng)建快捷方式的類庫IWshRuntimeLibrary,要使用該類庫,應(yīng)該添加對(duì)該類庫的引用,引用的方法是在項(xiàng)目的資源管理器下的“引用”文件夾上單擊鼠標(biāo)右鍵選擇“添加引用”,然后選擇COM選項(xiàng)卡并選擇Windows Script Host Object Model,點(diǎn)擊確定后就添加IWshRuntimeLibrary類庫,完成上述操作后就可以在程序中通過using IWshRuntimeLibrary加入對(duì)該命名空間的引用。)

        private void createlinktool(string startpath,string appname,string exepath)//創(chuàng)建啟動(dòng)快捷方式函數(shù),startpath為系統(tǒng)啟動(dòng)項(xiàng)文件夾路徑;appname為應(yīng)用程序名稱;exepath為可執(zhí)行程序存儲(chǔ)路徑;

        {

        WshShell shell = new WshShell();//實(shí)例化WshShell對(duì)象

        IWshShortcut shortcut=(IWshShortcut)shell.CreateShortcut(startpath+\"\\\"+appname+\".lnk\");//通過該對(duì)象的CreateShortcut方法來創(chuàng)建IWshShortcut接口的實(shí)例對(duì)象

        shortcut.TargetPath = exepath;

        shortcut.Arguments=\"\";//參數(shù)

        shortcut.Description=\"快捷方式\";

        shortcut.WorkingDirectory=exepath.Substring(0, exepath.LastIndexOf('\\'));//可執(zhí)行程序所在文件夾;

        shortcut.IconLocation=exepath+\",0\";//圖標(biāo)

        shortcut.Hotkey=\"CTRL+SHIFT+Z\";//熱鍵

        shortcut.WindowStyle=1;

        shortcut.Save();

        }

        第3步:在“開機(jī)運(yùn)行”按鈕控件的單擊事件的事件過程中依次調(diào)用上面兩個(gè)函數(shù),事件過程代碼如下:

        private void btn_run_Click(object sender, System.EventArgs e) //點(diǎn)擊開機(jī)運(yùn)行按鈕

        {

        string mypath=\"\";

        string startup=System.Environment.GetFolderPath((System.Environment.SpecialFolder)(7));//調(diào)用獲取系統(tǒng)“啟動(dòng)”文件夾路徑;其中System.Environment.GetFolderPath()為獲取系統(tǒng)特殊文件夾路徑函數(shù),7代表枚舉常數(shù),即代表系統(tǒng)“啟動(dòng)”文件夾

        bool f=TryGetSoftwarePath(string softName, out string mypath) ;//調(diào)用獲取可執(zhí)行程序路徑函數(shù)

        if(f==true)

        {

        createlinktool(startup,\"應(yīng)用程序名稱(打包軟件時(shí)設(shè)定)\",mypath);//調(diào)用創(chuàng)建啟動(dòng)快捷方式函數(shù);

        }

        }

        通過以上三步就可以實(shí)現(xiàn)“開機(jī)運(yùn)行”操作,“禁用運(yùn)行”操作仍然是將系統(tǒng)“啟動(dòng)”文件夾中的快捷方式刪除掉。按鈕控件(ID:btn_forbit)的單擊事件的事件過程代碼如下:

        private void btn_forbit_Click(object sender, System.EventArgs e)

        {

        string filepath=System.Environment.GetFolderPath((System.Environment.SpecialFolder)(7))+應(yīng)用程序名(打包軟件時(shí)設(shè)定).lnk;//獲取系統(tǒng)“啟動(dòng)”文件夾下的快捷方式;

        if(File.Exists(filepah)

        {

        //如果存在則刪除

        File.Delete(filepah);

        }

        }

        至此使用系統(tǒng)“啟動(dòng)”文件夾的方法也已經(jīng)實(shí)現(xiàn)。

        分析以上兩種方法,實(shí)際都是用到操作系統(tǒng)的“系統(tǒng)啟動(dòng)項(xiàng)”,通過向“注冊(cè)表”和“啟動(dòng)”文件夾寫入的方式來實(shí)現(xiàn)。在理解了操作系統(tǒng)下的設(shè)置方法后,在應(yīng)用程序中的實(shí)現(xiàn)過程并不復(fù)雜。兩種方法不存在優(yōu)劣,在實(shí)際應(yīng)用中可以選擇任何一種使用。軟件開發(fā)不是簡(jiǎn)單的書寫代碼,它綜合操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫等多項(xiàng)計(jì)算機(jī)相關(guān)知識(shí),所以在系統(tǒng)分析過程中要充分利用這些知識(shí)來組織程序邏輯,從而設(shè)計(jì)出簡(jiǎn)潔、完善、合理的應(yīng)用程序。

        參考文獻(xiàn):

        [1]肖柏昀.Android應(yīng)用程序中多線程應(yīng)用的方法研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(07):71-72.

        作者簡(jiǎn)介:常志東(1980.07-),男,山東棲霞人,講師,本科,研究方向:軟件設(shè)計(jì)、網(wǎng)站開發(fā);趙立平(1980.05-),女,山東青州人,講師,學(xué)士學(xué)位。

        作者單位:威海海洋職業(yè)學(xué)院 信息工程系,山東棲霞 265300;山東師范大學(xué)歷山學(xué)院,山東青州 262500

        国产精品人妻一码二码尿失禁| 一区二区三区日本视频| 韩国日本一区二区在线| 国产成人a级毛片| 午夜桃色视频在线观看| 丰满少妇在线播放bd| 久久精品aⅴ无码中文字字幕| 亚洲av成人一区二区三区| 国产精品一区二区久久乐下载| 久久成人黄色免费网站| 五月婷婷开心五月播五月| 人妻夜夜爽天天爽三区丁香花| 日韩放荡少妇无码视频| 国内露脸中年夫妇交换| 亚洲成片在线看一区二区| av新型国产在线资源| 国产精品无码一区二区三级| 日本老熟妇毛茸茸| 国产精品视频一区日韩丝袜| 国产一区二区av男人| 精品一级一片内射播放| 久久无码人妻一区二区三区午夜| 又爽又黄又无遮挡的激情视频| 国产熟女精品一区二区三区| 中文字幕久久人妻av| 国产亚洲精品国产精品| 天天爽夜夜爱| 國产AV天堂| 色综久久综合桃花网国产精品| 人妻少妇精品专区性色anvn| 成人精品视频一区二区| 亚洲不卡中文字幕无码| 日本韩国黄色三级三级| 日本最新视频一区二区| 欧美日韩一区二区三区在线观看视频| 日日碰狠狠躁久久躁| 久久亚洲aⅴ精品网站婷婷| 国产精品高湖呻呤久久av| 美女mm131爽爽爽| 97久久天天综合色天天综合色hd | 男女啪动最猛动态图|