'VB
Delegate Sub MyHandler()
Public Sub HandleMeBadly()
End Sub 'HandleMeBadly
form.Invoke(New MyHandler(form.HandleMeBadly))
7.11. 如何在微软.net精简框架上使用电话API?
查看这篇文章,学习如何在基于.net精简框架的应用程序中访问电话API:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfphoneapi.asp
7.12. 如何在Pocket Pc上生成GUID?
Guid.NewGuid方法可以生成新的GUID,但在.net精简框架中没有此方法。阅读这篇文章,学习如何根据GUID规范在PocketPC应用程序中建立GUID对象:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/PPCGuidGen.asp
7.13. 如何让我的.net精简框架程序和Pocket Outlook的数据结合?
这篇文章讨论了如何使用InTheHand公司的Pocket Outlook .NET组件:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/inthehandpoom.asp
7.14. 我可以判断.net精简框架中一个文件的版本吗?
Visual Studio .NET 2003帮助中的C# Programmer's Reference提供了在.net精简框架下使用不安全代码调用GetFileVersionInfo函数。 这个例子带来的问题是,这个函数是由OEM厂商决定的,并且不保证能返回正确结果。
使用Reflection可以获得程序集(Assembly)的版本:
//C#
using System.Reflection;
String ver = Assembly.GetExecutingAssembly().GetName().Version.ToString();
'VB
Imports System.Reflection;
Dim ver As String = [Assembly].GetExecutingAssembly().GetName().Version.ToString()
7.15. 微软.net精简框架的后台处理有什么相关技术?
使用后台处理,需要注意相关细节并小心设计。这篇文章提供一些关于后台处理最有用的建议,文中介绍的很多观点是必须说明的:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/BackgroundProcess.asp
7.16. 在微软.net精简框架上使用多线程有什么技巧?
学习如何在基于.net精简框架的Windows窗体应用程序中使用多线程。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfmultithreadedapp.asp
7.17. 如何在 智能设备应用 中使用混淆器?
学习如何使用PreEmptive Dotfuscator混淆器保护你的代码。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfobfuscation.asp
7.18. 如何使用密码服务对数据进行加密或解密?
请参考本问答的 "10.5. 写一个捕捉Pocket PC签名的程序n ." 部分。
7.19. 如何在微软.net精简框架上获得Windows CE设备的唯一号码?
学习如何使用.net精简框架获得Windows CE设备的设备号。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/retrievedeviceid.asp
你可以调用本地代码的函数来获得PocketPC的设备号,也就是序列号。这篇快速入门教程,演示了用MessageBox来显示设备号。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/deviceid.aspx
7.20. 如何在微软.net精简框架的应用程序上发送短消息?
这篇文章演示了如何从基于.net精简框架的应用程序中发送短消息:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfsendsms.asp
7.21. 不使用Control.Name,可以判断事件的发送者吗?
这篇文章讨论了在.net精简框架下如何判断事件的发送者,.net精简框架中的控件不支持name属性:
http://msdn.microsoft.com/library/en-us/dncfhowto/html/HOWTOsenderevent.asp
7.22. 如何在线程中调用方法的参数?
在应用程序中使用多线程,可以提高用户界面的性能。基类Control提供Invoke、BeginInvoke和EndInvoke方法在控件中来建立线程。.net精简框架不支持异步的BeginInvoke和EndInvoke调用。到现在,也还不支持向同步Invoke调用传递参数。这篇快速入门教程提供一个自定义类ControlInvoker,可以实现向Invoke方法中传递参数:
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/controlinvoker.aspx
7.23. 如何建立提醒程序和定时程序?
这篇快速入门文章描述了使用P/Invoke定义一个用户提醒和订时的应用。您可以计划提醒窗口弹出的时间。您也可以设置一个应用程序在特定的时间运行或响应某个事件。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/notifications.aspx
7.24. 如何播放声音?
这篇快速入门教程演示了使用P/Invoke播放个短WAV文件,一个是作为嵌入式资源,另一个作为一个内容。这个窗体包含了两个按钮,一个播放嵌入资源的Chimes.wav,另一个按单独的文件播放Chord.wav。
http://samples.gotdotnet.com/quickstart/CompactFramework/doc/playsounds.aspx
7.25. 如何使用命令行参数?
在代码中使用命令行参数,只须简单的定义main方法接受参数并正确处理。以下代码演示了这个方法:
//C#
static void Main(string[] args)
{
// Do your thing here
}