前面把登錄檔初始化完成之後,就開始進行安裝引導程式了。這裡安裝的引導程式是分割槽引導程式,或者安裝到軟盤引導程式。當然也可以選擇跳過不安裝它,介面如下:
這個函式的**如下:
#001 static page_number
#002 bootloaderpage(pinput_record ir)
#003
#017 else if (partitiontype == 0x0a)
#018
#023 else if (partitiontype == 0x83)
#024
#029 else if (partitiontype == partition_ifs)
#030
#035 else if ((partitiontype == partition_fat_12) ||
#036 (partitiontype == partition_fat_16) ||
#037 (partitiontype == partition_huge) ||
#038 (partitiontype == partition_xint13) ||
#039 (partitiontype == partition_fat32) ||
#040 (partitiontype == partition_fat32_xint13))
#041
#045 else
#046
#051
#052 if (installonfloppy == true)
#053
#056
檢查是否無人參與安裝方式。
#057 if (isunattendedsetup)
#058
#063 else if (unattendmbrinstalltype == 1) /* install on floppy */
#064
#067 else if (unattendmbrinstalltype == 2) /* install on hdd */
#068
#071 }
#072
開始顯示安裝引導標題。
#073 muidisplaypage(boot_loader_page);
#074 console_inverttextxy(8, line, 60, 1);
#075
迴圈地檢查使用者的輸入。
#076 while(true)
#077
上一行的選單選擇。
#091 else if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#092 (ir->event.keyevent.wvirtualkeycode == vk_up)) /* up */
#093
如果按f3就表示退出作業系統安裝。
#102 else if ((ir->event.keyevent.uchar.asciichar == 0x00) &&
#103 (ir->event.keyevent.wvirtualkeycode == vk_f3)) /* f3 */
#104
如果按回車鍵就檢查選擇那乙個選項,然後進入不同的頁面操作。
#110 else if (ir->event.keyevent.uchar.asciichar == 0x0d) /* enter */
#111
#116 else if (line == 13)
#117
#120 else if (line == 14)
#121
#124
#125 return boot_loader_page;
#126 }
#127 }
#128
#129 return boot_loader_page;
#130 }
reactos作業系統實現 178
sendmessagew函式主要用來向視窗傳送訊息。下面就是它的實現 001 lresult winapi 002 sendmessagew hwnd wnd,003 uint msg,004 wparam wparam,005 lparam lparam 006 028 029 填寫訊息結構。03...
reactos作業系統實現 187
隨著全球化的發展,開發軟體都是面向多語言的環境。目前大多數程式都是採用不同字型來顯示不同語言的辦法,那麼有沒有一種更好的辦法,一種字型就可以解決全球語言的顯示呢?答案肯定的,它就是採用邏輯字型ms shell dlg和ms shell dlg2。比如開發應用程式時,就看到在資源裡可以設定ms she...
reactos作業系統實現 193
selectobject函式是將物件選定到指定的裝置場境中。具體實現 如下 001 hgdiobj 002 winapi 003 selectobject hdc hdc,004 hgdiobj hgdiobj 005 016 獲取選擇dc的物件正確的控制代碼。017 hgdiobj gdifixu...