本發(fā)明涉及計算機(jī)控制技術(shù)領(lǐng)域,更具體地說,涉及一種基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法。
背景技術(shù):
目前,大多數(shù)家用或辦公電腦設(shè)備的開關(guān)機(jī)控制,都是利用手動開關(guān),用戶需要的時候打開電腦,用戶不需要的時候關(guān)閉電腦,比如對于在公司上班的員工,通常的開關(guān)機(jī)操作是,員工到辦公室上班的時候就打開電腦,員工離開的時候就手動關(guān)閉。然而目前這種控制開關(guān)機(jī)的方式存在的問題是,由于急需使用電腦,在開機(jī)的時候會打開,但是關(guān)機(jī)的時候,就可能會忘記關(guān)閉,特別是臨時工位的辦公電腦,更為普遍的是由于外出沒回公司導(dǎo)致電腦沒有關(guān)機(jī)。在公司中,若忘記關(guān)閉電腦,一方面就會增加公司的開銷,造成電力能源的浪費(fèi),另一方面也對機(jī)器本身有一個損耗。
雖然通過主板的BIOS的CMOS設(shè)置方法可以設(shè)置限時開機(jī),如專利號為CN200910030877中所述,但不支持操作系統(tǒng)下的關(guān)機(jī);且市面也有一些在操作系統(tǒng)下的定時關(guān)機(jī)的軟件,但不支持定時開機(jī)功能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)中計算機(jī)開關(guān)機(jī)的缺陷,提供一種基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法,能更好的對計算機(jī)的開關(guān)機(jī)進(jìn)行全自動智能控制。
本發(fā)明解決上述問題的技術(shù)方案是提供了一種基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法,其特征在于,該方法包括以下步驟:
A、設(shè)置系統(tǒng)底層調(diào)用服務(wù);
B、在操作系統(tǒng)下,設(shè)置應(yīng)用程序的配置信息。
在上述的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法中,所述步驟A具體包括以下步驟:
S11、設(shè)置自定義開機(jī)禁用與使能設(shè)置項(xiàng)為使能;
S12、調(diào)用Driver/procotol,在S5時打開喚醒中斷使能項(xiàng)和RTC事件使能項(xiàng);
S13、設(shè)置實(shí)時時鐘喚醒設(shè)置項(xiàng),并在實(shí)時時鐘喚醒設(shè)置項(xiàng)為使能時,設(shè)置喚醒時間。
在上述的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法中,在所述步驟S13中,所述喚醒時間存儲在RAM中。
在上述的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法中,所述喚醒時間不包括國家規(guī)定的節(jié)假日和雙休日。
在上述的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法中,所述步驟B具體包括以下步驟:
S14、在當(dāng)前實(shí)時時鐘的時間與所述喚醒時間相等時,計算機(jī)開機(jī)并進(jìn)入操作系統(tǒng);
S15、調(diào)用驅(qū)動庫的應(yīng)用程序;
S16、對所述應(yīng)用程序分別進(jìn)行設(shè)置自定義關(guān)機(jī)配置信息和自定義開機(jī)配置信息。
在上述的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法中,所述方法還包括:定制打開所述應(yīng)用程序的指令,以使在進(jìn)入操作系統(tǒng)時所述應(yīng)用程序自啟動。
實(shí)施本發(fā)明的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法,有益效果有:
實(shí)現(xiàn)了在操作系統(tǒng)下直接設(shè)置自定義開機(jī)的時間設(shè)置,進(jìn)而為實(shí)現(xiàn)自定義開機(jī)提供方便,操作簡單,同時,設(shè)置了設(shè)置該應(yīng)用程序的自定義關(guān)機(jī)配置信息,實(shí)現(xiàn)自動關(guān)機(jī)。另外,能更好地對計算機(jī)的開關(guān)機(jī)進(jìn)行全自動智能控制,節(jié)約公司或家庭的電源消耗,也可以節(jié)約計算機(jī)本身的硬件消耗,以保護(hù)計算機(jī)本身。
附圖說明
圖1是本發(fā)明實(shí)施例的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法流程圖。
圖2是本發(fā)明的設(shè)置系統(tǒng)底層調(diào)用服務(wù)的流程圖。
圖3是圖1中步驟S2的具體的流程圖。
圖4是實(shí)施本發(fā)明的計算機(jī)自動開關(guān)機(jī)的方法時的一狀態(tài)圖。
具體實(shí)施方式
本發(fā)明通過UEFI BIOS設(shè)置了系統(tǒng)底層調(diào)用服務(wù),在操作系統(tǒng)下可以直接設(shè)置RTC定時開機(jī)功能的日期與時間設(shè)置,實(shí)現(xiàn)自定義開機(jī)。同時,在操作系統(tǒng)下,通過調(diào)用驅(qū)動庫的應(yīng)用程序,并設(shè)置該應(yīng)用程序的自定義關(guān)機(jī)配置信息,實(shí)現(xiàn)自動關(guān)機(jī)。
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,是本發(fā)明實(shí)施例的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法的流程圖。該方法包括以下步驟:
S1、設(shè)置系統(tǒng)底層調(diào)用服務(wù):
如圖2所示,是本發(fā)明的設(shè)置系統(tǒng)底層調(diào)用服務(wù)的流程圖。在計算機(jī)引導(dǎo)過程中,啟動一熱鍵(如Del鍵)進(jìn)入BIOS界面,以進(jìn)行設(shè)置自定義開機(jī)禁用與使能設(shè)置項(xiàng)為使能。
通過UEFI BIOS進(jìn)行打開自定義開機(jī)禁用與使能設(shè)置項(xiàng)禁用(Disabled)和使能(Enabled),其中,UEFI(Unified Extensible Firmware Interface,可擴(kuò)展固件接口)是適用于計算機(jī)的標(biāo)準(zhǔn)固件接口。
當(dāng)打開禁用(Disabled)時,禁用實(shí)時時鐘喚醒(RTC Alarm,Real Time Clock Alarm);
當(dāng)打開使能(Enabled)時,調(diào)用Driver/procotol,在S5時打開喚醒中斷使 能項(xiàng)(Alarm Interrupt Enable)和RTC(實(shí)時時鐘,Real Time Clock)事件使能項(xiàng)(RTC event Enable),從而使RTC Alarm有效。當(dāng)RTC Alarm有效時,在計算機(jī)引導(dǎo)過程中,用另一熱鍵(如Esc鍵)直接進(jìn)入BIOS中實(shí)時時鐘喚醒設(shè)置項(xiàng),以進(jìn)行打開實(shí)時時鐘喚醒設(shè)置項(xiàng)使能和禁用,其中,實(shí)時時鐘喚醒設(shè)置項(xiàng)的默認(rèn)狀態(tài)為實(shí)時時鐘喚醒設(shè)置項(xiàng)禁用;當(dāng)打開使能時,進(jìn)入喚醒時間設(shè)置,包括喚醒的日期、時、分、秒,設(shè)置一次喚醒時間只能是當(dāng)天有效或者每天有效,并將喚醒時間存儲在RAM中,從而完成了設(shè)置RTC定時開機(jī)功能,操作簡單,進(jìn)而完成了設(shè)置系統(tǒng)底層調(diào)用服務(wù)。
S2、在操作系統(tǒng)下,設(shè)置應(yīng)用程序的配置信息:
如圖3所示,在計算機(jī)開機(jī)進(jìn)入操作系統(tǒng)后,調(diào)用驅(qū)動庫的應(yīng)用程序,對應(yīng)用程序進(jìn)行設(shè)置配置信息,其中,配置信息包括自定義關(guān)機(jī)配置信息和自定義開機(jī)配置信息,當(dāng)設(shè)置自定義關(guān)機(jī)配置信息時,包括設(shè)置的關(guān)機(jī)時間,具體的時間格式為:XXXX年XX月XX日XX時XX分,從而實(shí)現(xiàn)了自定義關(guān)機(jī)配置,當(dāng)前RTC的時間滿足該設(shè)置的關(guān)機(jī)時間時,應(yīng)用程序就調(diào)用系統(tǒng)消息模式,使計算機(jī)自動關(guān)機(jī);當(dāng)設(shè)置自定義開機(jī)配置信息時,調(diào)用定制驅(qū)動將讀取RAM中的喚醒時間,并設(shè)置上述RTC的喚醒時間,具體的時間格式為:XXXX年XX月XX日XX時XX分,該喚醒時間不包括國家規(guī)定的節(jié)假日、雙休日以及公司特殊假日等,從而實(shí)現(xiàn)了自定義開機(jī)配置,進(jìn)而使在操作系統(tǒng)下直接設(shè)置RTC定時開機(jī)功能的日期與時間設(shè)置。這樣,在應(yīng)用程序運(yùn)行時,自動加載上述定制的配置信息,并按照該配置信息進(jìn)行相關(guān)動作,如開機(jī)或關(guān)機(jī)。
在本實(shí)施例中,該方法還包括定制打開該應(yīng)用程序的指令。定制打開應(yīng)用程序的指令,使在進(jìn)入操作系統(tǒng)時該應(yīng)用程序自啟動,無需認(rèn)為手動啟動,進(jìn)一步實(shí)現(xiàn)自動化控制計算機(jī)開關(guān)機(jī)。
定制打開應(yīng)用程序的指令的步驟為:獲取用戶輸入的觸發(fā)命令,啟動打開操作定制程序;獲取用戶輸入的新建命令,新建需要定制的操作任務(wù)A,并將打開操作定制程序轉(zhuǎn)入后臺運(yùn)行;獲取用戶輸入的動作操作指令,根據(jù)動作操作指令計算得到動作操作數(shù)據(jù),并將動作操作數(shù)據(jù)發(fā)送給控制模塊;打開操作定制程序接收控制模塊發(fā)送的動作操作數(shù)據(jù),并將動作操作數(shù)據(jù)保存至新建的 操作任務(wù)A中;判斷是否獲取到用戶輸入的定制結(jié)束指令;在獲取到用戶輸入的定制結(jié)束指令時,停止獲取控制模塊發(fā)送的動作操作數(shù)據(jù),并生成與操作任務(wù)A對應(yīng)的操作選項(xiàng)。此部分屬于現(xiàn)有技術(shù),具體的細(xì)節(jié)在此不再贅述。
如圖4所示,是實(shí)施本發(fā)明的計算機(jī)自動開關(guān)機(jī)的方法時的一狀態(tài)圖。在計算機(jī)處于關(guān)機(jī)狀態(tài)時,由于RTC在硬件電路上是單獨(dú)供電的,在計算機(jī)處于關(guān)機(jī)狀態(tài)時,RTC處于工作狀態(tài),根據(jù)上述設(shè)置項(xiàng),在當(dāng)前RTC的時間符合實(shí)時時鐘喚醒設(shè)置項(xiàng)使能時設(shè)置的喚醒時間時,即兩者相等時,計算機(jī)開機(jī)并進(jìn)入操作系統(tǒng),此時,驅(qū)動庫的應(yīng)用程序被打開,在當(dāng)前時間符合該應(yīng)用程序中配置的自定義關(guān)機(jī)配置信息時,計算機(jī)自動關(guān)機(jī),不符合時,計算機(jī)仍然處于開機(jī)狀態(tài)。
綜述,本發(fā)明的基于UEFI BIOS實(shí)現(xiàn)計算機(jī)自動開關(guān)機(jī)的方法實(shí)現(xiàn)了在操作系統(tǒng)下直接設(shè)置自定義開機(jī)和自定義關(guān)機(jī)的時間設(shè)置,進(jìn)而為實(shí)現(xiàn)自定義開機(jī)和關(guān)機(jī)提供方便,操作簡單。同時,能更好的對計算機(jī)的開關(guān)機(jī)進(jìn)行全自動智能控制,節(jié)約公司或家庭的電源消耗,也可以節(jié)約計算機(jī)本身的硬件消耗,以保護(hù)計算機(jī)本身。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。