讓程式在Windows CE系統啟動時自動啟動並執行兩種方法

來源:互聯網
上載者:User

  讓程式在Windows  CE系統啟動時自動啟動並執行兩種方法   
  一、捷徑   
  假定Windows  CE.NET目標工程為CEPC類型,目錄為E:\Project\MyWinCE, 
  並且工程已經Build(或者Rebuild)成功;   
  假定Windows  CE.NET的應用為MyApp.exe   
  1.將MyApp.exe複製到E:\PROJECTS\MyWinCE\RelDir\CEPC_X86Release目錄下;   
  2.修改MyWinCE工程的project.bib檔案,在FILES  Section添加 
  MyApp.exe        $(_FLATRELEASEDIR)\MyApp.exe          NK          H   
  3.建立捷徑檔案MyApp.lnk(文字檔),檔案內容如下:   
  10#\Windows\MyApp.exe   
  MyApp 
  .lnk檔案也放入E:\PROJECTS\MyWinCE\RelDir\CEPC_X86Release目錄下   
  4.修改MyWinCE工程的project.bib檔案,在FILES  Section添加   
  MyApp.lnk          $(_FLATRELEASEDIR)\MyApp.lnk            NK          H   
  5.修改MyWinCE工程的project.dat檔案,添加如下內容:   
  Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")   
  6.Platform  Builder  IDE->菜單Build->MakeImage(記得千萬不要Build或者Rebuild, 
  否則你就要重新來一遍) 
  到此得到的NK.bin就包含了應用程式MyApp.exe和MyApp.lnk, 
  並且MyApp程式會在系統啟動時自動運行。 
  說明:   
  I.將自訂的檔案打包進NK.bin中的方法有兩種: 
  一種是編輯project.bib檔案。 
  在FILES  Section描述檔案的名稱,源檔案的路徑, 
  檔案在目標系統中的屬性。在上面,   
  MyApp.exe  $(_FLATRELEASEDIR)\MyApp.exe  NK  H   
  表示 
  將E:\Project\MyWinCE\RelDir\CEPC_X86Release目錄下的檔案MyApp.exe檔案打包進NK.bin, 
  並且此檔案將處在Kernel記憶體區,檔案屬性類型為隱藏。 
  第二種方法是添加User  Feature。 
  PlatformBuilder  IDE->FeatureView->在"MyWinCE  Features"上Right  Click滑鼠-> 
  Insert  User  Feature->指向想打包的檔案。   
  無論採用哪種打包方法,在啟動的Windows  CE系統中, 
  檔案都在\Windows目錄下。下一步就是根據需要重新組織檔案系統的目錄結構。   
  II.組織檔案系統的目錄結構的途徑在於修改project.dat檔案,添加檔案目錄結構的描述。 
  描述的文法如下: 
  root:-Directory("<目錄名>")  表示在root目錄(\)下建立目錄   
  Directory("\<目錄名>"):-Directory("<子目錄名>")  表示在指定目錄下建立子目錄   
  Directory("\("<目錄名>\<子目錄名>"):-File("<檔案名稱>.<副檔名>","\Windows\<檔案名稱>.<副檔名>") 
  表示在指定目錄下建立\Windows目錄下檔案的拷貝,顯示名稱是<檔案名稱>.<副檔名>。 
  (記得上面提到打包的檔案在\Windows目錄下嗎?呵呵,我想你明白了)   
  III.應用程式並不一定需要打包進NK.bin   
  假定程式在硬碟的某個位置, 
  如\硬碟\MyApp\MyApp.exe,那麼只需建立捷徑檔案,連結指向\硬碟\MyApp\MyApp.exe就是了 
  IV.相關PB42說明主題   
  Adding  a  File  to  an  Operating  System   
  Creating  a  Shortcut  File   
  and  Adding  It  to  the  OS   
  Organizing  Files  Within  an  OS   
  整個過程簡單來說就是, 
  想清楚應用程式將會出現在哪個目錄下,建立正確的捷徑檔案,修改目標系統目錄組織配置, 
  最後將應用程式和相應的捷徑檔案打包進NK.bin。 
  二、註冊表   
  1.配置project.bib或者 
  添加User  Feature,以將<你的程式>含入NK.bin   
  請參考《讓程式在Windows  CE系統啟動時自動運行 
  -捷徑》   
  2.配置platform.reg或者common.reg,在[HKEY_LOCAL_MACHINE\init]段添加如下類似 
  內容:   
  "LaunchXX"="<你的程式>"   
  "DependXX"=hex:YY,ZZ,...   
  其中XX是十進位的數字, 
  表示<你的程式>的啟動順序標識;YY,ZZ是Least  Significant的十六進位數字,表示<你的程式>所 
  依賴(先於<你的程式>運行)的程式的啟動順序標識。   
  例如:   
  "Launch80"="MyApp.exe"   
  "Depend80"=hex:1E,00   
  語意為程式MyApp.exe的啟動順序標識 
  是80,它依賴標識為30(即001E)的程式。   
  如果<你的程式>不依賴其他程式,那麼不需要添加 
  "DependXX"=hex:YY,zz,...指示;   
  如果<你的程式>依賴多個程式,那麼在"DependXX"指示中指明; 
  eg.   
  "Launch80"="MyApp.exe"   
  "Depend80"=hex:0A,00,1E,00   
  語意為MyApp.exe程式的啟動依賴 
  標識為10和30的程式。   
  3.PlatformBuilder  IDE->Build->MakeImage,產生新的NK.bin   
  說明:   
  1.如果<你的程式>是別的程式所依賴的程式,那麼在<你的程式>的代碼中需要添加如下代碼   
  SignalStarted(XX);   
  以通告作業系統<你的程式>已經運行,否則依賴<你的程式>的程式將不會運行。 
  一般SignalStarted加在InitInstance成員函數的最後(MFC  CE)或者while(GetMessage(...))之前 
  (C  SDK)   
  2.不要重複使用啟動順序標識,依賴方程式的啟動順序標識應大於被依賴方程式。   
  3.如果不想讓<你的程式>包含在NK.bin中,同時又想讓它自動啟動,那麼請明確指出<你的程式>的 
  路徑,同時確保檔案系統驅動程式先運行。   
  eg.   
  "Launch80"="\Hard  Disk\MyApp\MyApp.exe"   
  "Depend80"=hex:...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.