在啟動Windows CE時,隱藏“開始”菜單,並全螢幕顯示Internet Explorer程式

來源:互聯網
上載者:User

1 啟動Windows CE時候運行程式
如果該程式是放在目標裝置的Flash或者Hard Disk中的,也就說斷電後仍然會儲存,那麼可以不將程式一起build進OS Image,直接在project.reg檔案中加上以下這段:

[HKEY_LOCAL_MACHINE/Init]
    Launchxx = "/MyProgram.exe"
    Dependxx = hex:14, 00, 1e, 00

其中xx表示00-99的一個數字,在common.reg檔案中已經定義了一些響應的啟動程式,比如launch10是shell.exe,launch20是device.exe,launch的數字越小,說明它越先被執行到。Launch裡面的字串就是該程式在目標裝置的絕對路徑(Windows CE不支援相對路徑)。後面的Depend表示這個程式需要依賴的先前程式,系統會等到depend裡面所有的程式都launch起來以後,再執行當前的程式。由於我的程式需要啟動IE,其依賴的先前程式是Explorer.exe,在BSP裡面一般定義的Explorer.exe的啟動順序會是Launch50(這個可以在第一次build OS以後的shell.reg檔案中看到),所以要在Depend裡面加上32, 00這個先決程式。

2 那麼在MyProgram.exe檔案裡面,需要寫的就是所要做的工作,比如隱藏“開始”菜單,啟動IE等等事情。隱藏“開始”菜單可以如下來做:

POINT p;
p.x = 0;
p.y = 479; //解析度縱值減一,如果是640×480就是479
HWND cWndStart = WindowFromPoint(p);
ShowWindow(cWndStart, SW_HIDE);

這個不同於“自動隱藏工作列”,因為如果不調用ShowWindow(cWndStart, SW_SHOW)函數,那麼工作列永遠就出不來了:(  在PC機上也一樣……

3 啟動IE這一步可以直接ShellExecuteEx()一個http檔案,出來的是其預設的IE,如果要對IE進行設定,可以自己寫一個EVC程式把瀏覽器嵌入其中,這個可以參考付林林的Windows CE系列文章http://www.vckbase.com/vckbase/columnist/fllsoft/中的http://www.vckbase.com/document/viewdoc/?id=1145。
如果不想要菜單,也可以在MainFrm.cpp的OnCreate函數中刪除m_wndCommandBar相關的代碼即可。
要想定義瀏覽器大小,在MainFrm.cpp的PreCreateWindow函數中設定cs.x,cs.y,cs.cx,cs.cy參數,例如
cs.cx = GetSystemMetrics(SM_CXSCREEN);
cs.cy = GetSystemMetrics(SM_CYSCREEN);
就可以讓瀏覽器全螢幕顯示了。

 

相關文章

聯繫我們

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