Wince系統開機自動執行指定應用程式

2021-06-03 07:53:35 字數 1489 閱讀 4943

關鍵字: wince 自動執行

近日在開發過程中遇到wince應用程式開機自動執行的問題,在網上找了找,發現大概有以下三種方法:

1、 將應用程式和應用程式快捷方式新增到映像裡,再將快捷方式新增到startup目錄下,這樣當系統執行後應用程式就能自動執行;

2、 直接替換wince的shell,即修改登錄檔:

[hkey_local_machine\init]

"launch50"="explorer.exe"

"depend50"=hex:14,00, 1e,00

可以設定啟動順序和依賴程式;

int winapi winmain(hinstance hinstance,

hinstance hprevinstance,

lptstr lpcmdline,

int ncmdshow)

if(0==icount) return 0;

findclose(hd);

shellexecuteinfo shexeinfo=;

shexeinfo.cbsize=sizeof(shellexecuteinfo);

shexeinfo.fmask=see_mask_nocloseprocess;

shexeinfo.hwnd=null;

shexeinfo.lpverb=null;

shexeinfo.lpfile=lpcmdline;

shexeinfo.lpparameters=l"";

shexeinfo.lpdirectory=null;

shexeinfo.nshow=sw_show;

shellexecuteex(&shexeinfo);

return 0;

}

生成shellexe.exe的可執行檔案,此段**主要功能是查詢指定的應用程式,然後執行;下面這段**可以保證在sd卡檔案系統正確載入後才去執行應用程式;
while(icount--)

檔案的名稱和路徑由命令列引數指定:
shexeinfo.lpfile=lpcmdline;
shellexe.exe f:\wince420\pbworkspaces\lioetenter\reldir\shellexe.exe nk s

autorun.lnk f:\wince420\pbworkspaces\lioetenter\reldir\autorun.lnk nk s

注意:shellexe.exe的屬性不能帶h(隱藏).

4、 在project.dat裡加入如下內容:

directory("\windows\startup"):-file("autorun.lnk","\windows\autorun.lnk")
總結

這種方法用起來比較方便,shellexe.exe不用每次都重新編譯,只要根據應用程式路徑修改autorun.lnk即可,可以載入flash、u盤、sd卡里的應用程式。除錯及公升級應用程式就不用重新燒寫核心了。

WINCE開機自動執行指定程式

wince開始預設是執行explorer.exe,是在shell.reg中設定的 hkey local machine init launch50 explorer.exe depend50 hex 14,00,1e,00 因此只要在platform.reg或者project.reg中做類似的更改就...

WinCE 開機自動執行程式

s1 將應用程式和應用程式快捷方式新增到映像裡,再將快捷方式新增到startup目錄下,這樣當系統執行後應用程式就能自動執行 s2 直接替換wince的shell,即修改登錄檔 hkey local machine init launch50 explorer.exe depend50 hex 14...

WinCE 開機自動執行程式

s1 將應用程式和應用程式快捷方式新增到映像裡,再將快捷方式新增到startup目錄下,這樣當系統執行後應用程式就能自動執行 s2 直接替換wince的shell,即修改登錄檔 hkey local machine init launch50 explorer.exe depend50 hex 14...