WinCE系統啟動時自動運行應用程式

來源:互聯網
上載者:User

ugg boots
ugg boots cheap
ugg boots sale
ugg boots outlet

  一、捷徑    
   
  假定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:...

  4.<你的程式>啟動失敗不會影響系統

 
5.參考《讓程式在Windows CE系統啟動時自動運行-捷徑》

 
6.相關PB4.2說明主題 Adding a File to an Operating System How to Configure the Registry to Run an Application at Startup 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.