reactos作業系統實現 59

2021-05-02 02:50:20 字數 1653 閱讀 7921

當使用者安裝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...