有时候,我们需要在Windows Mobile上做一些invisible的应用程序,使得用户无法察觉。这几天找了一些资料,请教了Jake等一些朋友,下面就做一个简单的总结。

1. 如何逃脱“任务管理器”?

大家知道,在Windows Mobile上做自己的应用程序,会在“设置->系统->内存->运行的程序”中显示出来。在Windows Mobile 6.1以后,则由“设置->系统->任务管理器”代替了。如下图1所示:

图1

有什么方法,能够使得应用程序不显示在应用程序列表中呢?下面提供两种方法,一种是偷懒的方法,另一种是正规的方法。

A. Form设计方法

这是一种比较偷懒的方法,为什么这么说?因为我们仅仅需要在visual studio开发环境中,对Form设计进行简单的编辑,就可以实现我们的需求。闲话少说,直接上图。如图2所示,在Form设计窗口中,选中Form,查看其Properties,就可以发现有“Text”一项,这项功能是充当Form的标题,如果我们把其中的文字“Form1”去掉,在对应的设计窗口中,我们就可以发现,Form1已经不见了。

图2

Deploy程序到模拟器中,我们就无法在任务管理器中发现Demo的影子了。如下图3所示。

图3

在任务管理器中是找不到我们应用程序的信息了,还有一个问题:如何让程序运行于后台,在应用程序启动的时候,不让Form显示出来?

这个可以通过Form的Activated事件来解决,即在该事件中,把Form隐藏掉。如下图4所示,在Form的事件中,添加Activated事件响应函数如下:

private void Form1_Activated(object sender, EventArgs e)

{

this.Hide();

}

图4

B. 利用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

图8

2. 开机自启动

如何让我们的应用程序在设备开机的时候,自动加载运行呢?在codeproject上,MVP Joel Ivory Johnson写了一篇文章《Automatically Starting Your Application on Windows Mobile》,在“A program launches at device power up”这一节中我们可以找到需要的答案。

文章提供了两种方法:

A.在设备的\Windows\StartUp文件夹中,放置应用程序的快捷方式。

B.将应用程序拷贝到设备的\Windows文件夹,然后修改注册表,在HKEY_LOCAL_MACHINE\Init中加入新的内容,如下图9所示:

图9

这样,在设备重启时,应用程序就会自启动了。

参考链接:

1.Managed Services for Windows Mobile

2.Automatically Starting Your Application on Windows Mobile

转载于:https://www.cnblogs.com/dearsj001/archive/2010/07/30/InvisibleApplicationOnWM.html

在Windows Mobile上隐藏你的应用程序相关推荐

  1. 创建Windows Mobile上兼容性好的UI 程序

    看看上面这个Emulator的截图吧,有WM 2003se.5.0.6.0的,有pocket PC.smartphone.classic.professional的,有英文的,也有中文的,分辨率.DP ...

  2. 【转载】windows mobile 上隐藏和关闭X以及OK的处理

    [转自]http://blog.csdn.net/czbever 1.隐藏X:  在WM_CREATE里  SetWindowLong(hWnd,GWL_STYLE,WS_NONAVDONEBUTTO ...

  3. 如何在Windows 10上隐藏任务栏

    The Windows taskbar is great for quickly accessing frequently used applications on your computer. Ho ...

  4. windows mobile开发循序渐进(5)移动应用程序与webservice之间的数据交互

    上篇遗留问题: 在使用数据库方面,egmkang和瑞雪年给了不少建议,我也测试了SQLite的使用,在对SQL Server CE的查询方面,egmkang的性能方面的测试代码也运行了一遍,很感谢你们 ...

  5. windows mobile开发循序渐进(4)移动应用程序的数据存储之本地数据存储第二篇

    之所以分解来写,是因为在写的过程中会有些穿插的工作,希望能够尽量写的更细节一些. 上篇说的是本地存储的XML和DataSet之间的交互,现在我们来看看windows mobile 是如何与数据库进行交 ...

  6. 在32位WINDOWS系统上开发64位应用程序

    在32位WINDOWS系统上开发64位应用程序 创建 2011-9-2 有些时候需要开发WINDOWS 64位应用程序,但不想安装64位操作系统,所以需要在32位系统下开发64位应用.其步骤并不复杂. ...

  7. java for mobil,Windows Mobile上的Java(ME)

    Does anyone have experience deploying Java ME apps to Windows Mobile? What are the high-level steps ...

  8. Windows Mobile 上显示png,jpg,bmp等图片

    不只是可以显示png,jpg,bmp等等都可以,gif也行,不过只能显示单帧. 一种方法是用IImagingFactory 中的CreateImageFromFile 先看看msdn: This me ...

  9. 在 Windows 系统上降低 UAC 权限运行程序(从管理员权限降权到普通用户权限)

    在 Windows 系统中,管理员权限和非管理员权限运行的程序之间不能使用 Windows 提供的通信机制进行通信.对于部分文件夹(ProgramData),管理员权限创建的文件是不能以非管理员权限修 ...

  10. 转贴下windows mobile上常用的注册表优化选项

    在修改前请大家先备份好注册表!以防万一 一.提高系统运行速度     打开HKEY_LOCAL_MACHINE/System/StorageManager/FATFS查看值/EnableCache:将 ...

最新文章

  1. citespace与mysql_科学网—如何用CiteSpace整理数据 - 陈超美的博文
  2. wxWidgets 编译 ICON 资源
  3. nyoj496巡回赛-拓扑排序-拓扑序列
  4. DB2数据库报 [SQL0805N Package NULLID.SQLLD003 was not found.]
  5. mybatis 一对一与一对多collection和association的使用
  6. WCF系列(1)—— CustomBehavior 入门
  7. 动态规划——双11既可以薅羊毛还能花钱最少
  8. POJ2586(贪心)
  9. 二进制漏洞利用原理--栈溢出
  10. 1TB存储版iPhone 13 Pro机型预计交付时间已被推迟至10月
  11. 文字处理技术:页面布局时,有两个方向
  12. win7右键计算机死机,Win7桌面点击右键死机的解决方法
  13. 教你用Axure绘制三级菜单
  14. java 调用热敏打印机_java调用芯烨热敏打印机 TSPL2指令 打印没有反应
  15. 2017年区块链技术与加密货币市场:回顾与展望
  16. Java筑基34-网络编程02-UDP网络编程网络编程案例
  17. 十九个国内外主流的三维GIS
  18. 欢迎关注异贝!今天异贝与您一起分享:美容行业异贝引客方案设计!
  19. 制作卡通(动漫风)效果
  20. matlab输出正负号±

热门文章

  1. IPFS python api 示例
  2. call to a member funciton get() on null
  3. java executor spring_java - Spring TaskExecutor实现 - 堆栈内存溢出
  4. 基于springboot的简易聊天系统
  5. Unity与Android通信
  6. mysql 慢查询及深入调优
  7. JFreeChart 简单使用
  8. 十六、Java四种内部类详解、匿名对象的使用
  9. Centos 安装最新版git
  10. Codeforces1037G A Game on Strings 【SG函数】【区间DP】