在Windows Mobile上隱藏你的應用程式

2021-05-23 06:16:25 字數 2431 閱讀 5411

有時候,我們需要在windows mobile上做一些invisible的應用程式,使得使用者無法察覺。這幾天找了一些資料,請教了

jake

等一些朋友,下面就做乙個簡單的總結。

1. 如何逃脫「任務管理器」?

大家知道,在windows mobile上做自己的應用程式,會在「設定->系統->記憶體->執行的程式」中顯示出來。在windows mobile 6.1以後,則由「設定->系統->任務管理器」代替了。如下圖1所示:

有什麼方法,能夠使得應用程式不顯示在應用程式列表中呢?下面提供兩種方法,一種是偷懶的方法,另一種是正規的方法。

a. form

設計方法

這是一種比較偷懶的方法,為什麼這麼說?因為我們僅僅需要在visual studio開發環境中,對form設計進行簡單的編輯,就可以實現我們的需求。閒話少說,直接上圖。如圖2所示,在form設計視窗中,選中form,檢視其properties,就可以發現有「text」一項,這項功能是充當form的標題,如果我們把其中的文字「form1」去掉,在對應的設計視窗中,我們就可以發現,form1已經不見了。

圖2deploy程式到模擬器中,我們就無法在任務管理器中發現demo的影子了。如下圖3所示。

圖3在任務管理器中是找不到我們應用程式的資訊了,還有乙個問題:如何讓程式執行於後台,在應用程式啟動的時候,不讓form顯示出來?

這個可以通過form的activated事件來解決,即在該事件中,把form隱藏掉。如下圖4所示,在form的事件中,新增activated事件響應函式如下:

利用service.exe

和.net framework一樣,.net cf不提供託管類來建立windows services。在codeplex上,

peternowak

,建立了乙個輕量級的dll動態庫,通過它,我們就可以利用託管**來建立windows mobile上的services了。具體大家可以參考文章:

managed services for windows mobile

。在程式執行時,我們無法在「running programs」中找到應用程式資訊,如圖5所示:

圖5把cellular emulator和模擬器連線以後,在模擬器上給cellular emulator撥打**,如圖6所示:

圖6利用file explorer,在裝置的「my device」下,我們找到了phonelog.txt檔案,開啟該檔案,我們就可以查到剛才撥打**的資訊,如圖7和圖8所示。

圖7

2. 開機自啟動

如何讓我們的應用程式在裝置開機的時候,自動載入執行呢?在codeproject上,mvpjoel ivory johnson

寫了一篇文章《

》,在「a program launches at device power up」這一節中我們可以找到需要的答案。

a.在裝置的

/windows/startup

資料夾中,放置應用程式的快捷方式。

b.將應用程式拷貝到裝置的

/windows

資料夾,然後修改登錄檔,在

hkey_local_machine/init

中加入新的內容,如下圖9所示:

這樣,在裝置重啟時,應用程式就會自啟動了。

1.managed services for windows mobile

2.

在Windows Mobile模擬器上使用藍芽

大家知道,windows mobile 6.0 sdk自帶了cellular emulator和fake gps,使得我們可以在模擬器上除錯radio級的phone call和基於gps的地理位置應用。前幾天,一位mvpdmitry klionsky 撰寫了文章 bluetooth for micr...

在Windows Mobile上隱藏你的應用程式

有時候,我們需要在windows mobile上做一些invisible的應用程式,使得使用者無法察覺。這幾天找了一些資料,請教了 jake 等一些朋友,下面就做乙個簡單的總結。1.如何逃脫 任務管理器 大家知道,在windows mobile上做自己的應用程式,會在 設定 系統 記憶體 執行的程式...

在Windows Mobile模擬器上使用藍芽

家知道,windows mobile 6.0 sdk自帶了cellular emulator和fake gps,使得我們可以在模擬器上除錯radio級的phone call和基於gps的地理位置應用。前幾天,一位mvpdmitry klionsky 撰寫了文章 bluetooth for micro...