當使用者安裝reactos系統時,需要選擇合適的安裝目錄,因為同乙個型別的作業系統,可以安裝多次,可以選擇不同的目錄來安裝,以便在同一臺電腦,同乙個磁碟分割槽裡安裝不同的系統。如下圖:
選擇系統目錄的實現**如下:
#001 static page_number
#002 installdirectorypage(pinput_record ir)
#003
#018
獲取磁碟分割槽的入口項。
#019 diskentry = partitionlist->currentdisk;
#020 partentry = partitionlist->currentpartition;
#021
查詢安裝目錄裡的路徑資料。
#022 /* search for 'defaultpath' in the 'setupdata' section */
#023 if (!setupfindfirstlinew (setupinf, l"setupdata", l"defaultpath", &context))
#024
#028
讀取預設路徑資料。
#029 /* read the 'defaultpath' data */
#030 if (inf_getdata (&context, null, &defaultpath))
#031
#034 else
#035
#038
#039 length = wcslen(installdir);
#040 console_setinputtextxy(8, 11, 51, installdir);
#041 muidisplaypage(install_directory_page);
#042
#043 if (isunattendedsetup)
#044
#047
迴圈地檢查輸入的目錄。
#048 while(true)
#049
#060 else if (ir->event.keyevent.uchar.asciichar == 0x0d) /* enter */
#061
#064 else if (ir->event.keyevent.uchar.asciichar == 0x08) /* backspace */
#065
#072 }
#073 else if (isprint(ir->event.keyevent.uchar.asciichar))
#074
#082 }
#083 }
#084
#085 return(install_directory_page);
#086 }
通過上面函式處理,如果選擇合適目錄,就進入下一步的頁面,prepare_copy_page。
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...