20080803 xpe .net framework 3.0
http://www.yippeesoft.com
I also have a problem with dotnetfx3.exe September CTP:
Installation failed with message:
Windows Communication Foundation: [2] Error: Installation failed for component Windows Communication Foundation. MSI returned error code 1603
WapUI: [2] DepCheck indicates Windows Communication Foundation is not installed.
ScrapBook is a Firefox extension, which helps you to save Web pages and easily manage collections. Key features are lightness, speed, accuracy and multi-language support. Major features are:
* Save Web page
* Save snippet of Web page
* Save Web site
* Organize the collection in the same way as Bookmarks
* Full text search and quick filtering search of the collection
* Editing of the collected Web page
* Text/HTML edit feature resembling Opera\’s Notes
用了下最新的WEB SAVER,结果出师不利,第一个就崩溃了,干脆用插件
http://www.vinodunny.com/blog/post/Fix-for-MSI-Error-1603-in-WbH-MPS-Deployment-on-Single-Server.aspx
Fix for MSI Error 1603 in WbH MPS Deployment on Single Server
http://forums.msdn.microsoft.com/en-US/netfxsetup/thread/42f9239b-fc9f-4626-b00c-89f202152b9e
Error installing dotnetfx3.0
RSS
Update Rollup 1.0 for Windows XP Embedded enables OEM customers to use some of the latest Windows Vista components on the Windows XP Embedded platform, including Internet Explorer 7, Windows Media Player 11, User Mode Driver Framework, Remote Desktop Connection 6, and .NET Framework 3.0. It also includes hotfixes for Windows XP Embedded SP2 Feature Pack 2007. The Update Rollup 1.0 for Windows XP Embedded is not a stand alone product; it requires the developer to have Windows® Embedded Studio tool suite installed.
http://www.microsoft.com/downloads/details.aspx?familyid=70A79E6F-CE42-45C7-ADD2-52F57959ECF2&displaylang=en
http://blogs.msdn.com/embedded/archive/2007/03/23/deploying-net-framework-3-0-desktop-distribution-package-on-windows-xp-embedded-sp2-runtime.aspx
Deploying .NET Framework 3.0 Desktop Distribution Package on Windows XP Embedded SP2 Runtime
http://blogs.msdn.com/astebner/archive/2007/06/08/3165319.aspx
Update on how to deploy the .NET Framework 3.0 on Windows XP Embedded
http://blogs.msdn.com/mikehall/archive/2007/06/07/update-rollup-1-0-for-windows-xp-embedded-was-feature-pack-2008.aspx
Update Rollup 1.0 for Windows XP Embedded (was Feature Pack 2008).
Microsoft Windows XP Embedded, SP2 Update Evaluation Edition
Brief Description
Windows XP Embedded with SP2
The Evaluation Edition software enables you to build Windows XP Embedded with Service Pack 2-based operating systems for 120 days from the day of installation.
http://www.microsoft.com/downloads/details.aspx?familyid=DACD1722-256B-48C5-91C1-AF6062340EFC&displaylang=en#Overview
http://blogs.msdn.com/astebner/archive/2005/08/01/446328.aspx
How to locate the cause of error code 1603 in a verbose MSI log file
http://forums.asp.net/t/1097923.aspx
"MSI log returned non-zero error code 1603" error when installing Web Services
04-11-2007, 6:56 PM
http://blogs.msdn.com/embedded/archive/2008/02/08/trying-to-install-net-3-5-on-top-of-net-2-0-in-xpe.aspx
Trying To Install .Net 3.5 On Top Of .Net 2.0 In XPe?
http://www.eggheadcafe.com/software/aspnet/31128074/trouble-deploying-net-3.aspx
Trouble deploying .NET 3.0 in my XPE image – Smedly Tonker
http://blogs.msdn.com/astebner/archive/2007/06/04/3088178.aspx
How to deploy the .NET Framework 3.0 on Windows XP Embedded
Security Update for Windows XP Embedded with SP1 (Q811279)
Brief Description
Repository look-up may cause incorrect files to be copied (Q811279) for Windows XP Embedded with SP1
http://www.microsoft.com/downloads/details.aspx?FamilyId=5C1C0AE5-8285-4AB2-B753-C624C6B622DD&displaylang=en
Deploying .NET Framework 3.0 Desktop Distribution Package on Windows XP Embedded SP2 Runtime
http://blogs.msdn.com/embedded/archive/2007/03/23/deploying-net-framework-3-0-desktop-distribution-package-on-windows-xp-embedded-sp2-runtime.aspx
20080718 flex framework
http://www.yippeesoft.com
http://www.flex888.com/2008/01/16/10-flex-frameworks-to-speed-up-ria-development.html
10 Flex Frameworks to Speed up RIA Development
http://www.xcopy.net.cn/attachment.php?fid=228
http://www.xcopy.net.cn/attachment.php?fid=227
Cairngorm vs. PureMVC
有很多关于PureMVC和Cairngorm的争论。
我还是选择了PureMVC,因为Cairngorm是基于Flex的。而PureMVC在很多语言环境下都有相应的框架,如下:
• Mobile Environments: FlashLite, .NET Compact Framework, J2ME
• Server Environments: ColdFusion, J2EE, PHP, Python
• Browser Environments: Flash/Flex, JavaFX, Silverlight
• Desktop Environments: .NET, AIR, FLASH, J2SE
http://www.mikel.cn/article.asp?id=556
[Flex]JumpShip框架发布新版本
http://www.infoq.com/news/2008/01/flex-mvc
Open Source Flex Development Frameworks Show that Platform is Gaining Momentum
http://www.infoq.com/cn/news/2008/01/flex-mvc
开源开发框架展现出Flex平台的发展势头
http://www.xcopy.net.cn/read.php?303
cairngorm和puremvc框架图
对于 MVC的概念和用Cairngorm 对Flex 程序的架构其实很早就遇到了,那时我感觉没必要,后来用Flex 做了不少东西,总的感觉就是想到那就写到那,对整体的规划没概念,代码显得十分的乱,于是开始来接触MVC,Cairngorm 和PureMVC,其实Cairngorm 应该更规范有更多的资料来学习,但我还是选折了PureMVC。
PureMVC是一个由controller、Model 、view 三个子系统构成的,由Facade,实现统一管理的一个系统架构。在设计模式中对于Facade的描述为,Facade是个对象结构模式,为子系统中的接口提供一个一致的界面,Facade模式定义了一个高层接口,这一系统使得子系统变得更易于控制。
PureMVC:(注意点纪录):
1。pureMVC中的command、meditor、proxy,一般是要先注册然后才能调用。
2。command、meditor、proxy都继承于Notifiter,所以它门都有sendNotification(发送 Notification)的能力,而对于接受Notification,command可以被Notification触发,但前提是command已经被注册。 meditor,可以接受listNotificationInterests中定义的Notification name的Notification 。
3。proxy,要先于meditor被注册 ,在meditor中才可以对注册的proxy的加以引用。
http://www.jiangzone.com.cn/article.asp?id=60
基于PureMVC的一个Flex MP3播放器分析
目前,FLEX有好几个框架,官方和非官方的,其介绍详见http://www.infoq.com/news/2008/01/flex-mvc
从网上又收集了一些简单的评论,我还没有用过,打算最近对比后找一个来用用。
1、cairngorm:Cairngorm 开发的项目很难有可重用的东西,要写的类太多,view 部分也比较混乱,而且基本不可测试……
不过优点是易学,易理解,官方血统(虽说是官方出的,不过和 Flex 框架的风格差别很大)。现在又有好几种cairngorm的代码生成器(好像是收费的?),不太适合个人使用。
2、PureMVC:非常强大的一个框架,MVC 分的很清楚而且很独立,可以充分重用组件,并且是个可测试的框架。很多人推荐。
3、Model-Glue:这个框架,太庞大,太复杂,而且现在只是到alpha1,api不一定稳定,参考可以,建议不要用作生产开发。
4、EasyMVC:一个人开发或者简单项目可以考虑这个框架,基本是个 Cairngorm 的缩减版本,不过有人认为并不比 Cairngorm 差,很容易上手,而且比 Cairngorm 的代码量要少的多。
5、RIAWave:轻量级框架,简单易学,最主要的,有中文哦!不过,老版本的Service只支持AMFPHP,不知道现在改进了没有?
http://blog.ezse.com/?p=327
Flex2.0和C#间的通信
http://www.cnblogs.com/Brune/archive/2007/01/12/592690.html
Flex RIA的ArcIMS WebGIS之路(三)–通过Asp.net数据库的访问,不是WebService哦!
http://www.blogjava.net/usherlight/archive/2006/08/03/61546.html
开源项目fluorine(Flex与.net的AMF0网关)使用注意事项
http://www.flashas.net/html/Flex/20071110/2440.html
Flex Builder 3下使用Fluorine
http://www.machinetown.cn/?p=175
利用fluorine实现Flex与.NET的通信
http://hi.baidu.com/bigisy/blog/item/031e3a0efd03a1cf7acbe157.html
源项目fluorine(Flex与.net的AMF0网关)使用注意事项 (转)
http://www.riafan.com/article.asp?id=48
使用Fluorine实现Flash与.NET通信
在配置Flex+Fluorine Remoting项目时,Root URL只能虚拟主机域名或http://localhost:80,也就意味着我们只能在本地默认网站(localhost)80端口下开发Flex应用了。万一80端口被其它Web应用占用了,那么又该怎么办?用虚拟目录是行不通的,可以使用ASP.NET Development Server,将Output folder URL设置成localhost:其它端口+放置swf的子文件夹,然后就可以通过Output folder URL正确播放本地端的swf电影,同时通过Root URL也可以正确播放虚拟主机端的swf电影。其实,这其实这和Flash Remoting环境下Flash RIA部署差不多,为方便我们可以在网页中通过使用flashvars来设定网关连接。
小结一下,我的建议就是Root URL设置为虚拟主机域名或http://localhost:80,这样可以方便远端部署;Output folder URL设置成localhost:其它端口+放置swf的子文件夹,这样可以方便我们在本机上开发调试。
http://www.douban.com/group/topic/2735740/
请教:Fluorine和Flex交互的问题
FLUORINE是一个开源的 .NET Flash Remoting 网关,支持 NET1.1 和 .NET2.0。其官方网站:http://fluorine.thesilentgroup.com/fluorine/index.html。
大家还记得Adobe的Flash Remoting MX for .NET吧。它是市面上最早推出的.NETFlash Remoting 网关,但它是商业软件,价格又比同类产品WebORB for .NET(http://www.themidnightcoders.com/weborb/dotnet/)高出一倍。而且自从2003升级后再也没更新,更不用说支持AMF3;相反,WebORB for .NET却更新到3.0了,而且支持AMF3。因此估计Adobe已经放弃Flash Remoting MX for .NET了。另一方面,.NET Flash Remoting杀出一支新生开源的力量——Fluorine,它成长得很快,截至我写这篇教程时,已经推出2.0.7.3.28 alpha,虽然是alpha,但是运行已经很稳定,而且支持AMF3。因此,它应该是目前开源.NET Flash Remoting的最佳解决方案。
http://www.cnblogs.com/chu888chu888/archive/2008/07/10/1239760.html
使用FLEX的HttpService与ASP.NET进行动态交互之一
http://hi.baidu.com/chenjj1010/blog/item/b1d9bd0884d5bed562d986ae.html
Json.NET的简单介绍
http://www.cnblogs.com/QPG2006/archive/2008/07/10/1240303.html
选择一个框架的权衡建议
http://blog.csdn.net/polinzhuo/archive/2008/03/17/2192442.aspx
CLR-AddIn 模型实践
新.net开发十大必备工具
几年前,MSDN网站上曾经有篇文章介绍.NET开发十大必备工具,几年过去之后,.NET Framework发展到了3.5版本,这些工具中,有些已经转向商业化,有些因为推出了新的工具而已经停止了开发,有些则继续免费提供给开发者使用。有了这个想法,我请TerryLee帮忙,对.NET开发中必备的十大工具重新做了整理,推出新版.NET开发必备十大工具。如下:
1. Snippet Compiler:用来编写、编译和运行代码的基于Windows的小型应用程序
2. Microsoft Source Analysis for C#:是一款C#代码规范检查工具
3.GhostDoc:Visual Studio的一个免费插件
4.Sandcastle:帮助文档生成工具
5.Nunit:开放源代码单元测试框架
6.MyGeneration :代码生成工具
7.Reflector for .NET:类浏览器和反编译器
8.The Regulator:生成和测试正则表达式
9.LINQPad:集成在.NET编程语言中的一种特性
10.NAnt:基于 .NET 的生成工具
http://www.flashas.net/html/FLASHyejiexinwen/yejiexinwen/2008/0514/3082.html
ReadAIR – AIR 版Google Reader
https://groups.google.com/group/chennai-flex-user-group/browse_thread/thread/c3cb1ee660b402f9
Play a video file in AIR
http://blog.webqem.com.au/index.php/2006/09/25/flex-video-demo/
Flex Video Demo
http://www.flashguru.co.uk/free-tool-flash-video-player
Free Tool: Flash Video Player
http://flashspeaksactionscript.com/an-open-source-flex-video-player/
FX Video: An Open Source Flex Video Player
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Flex/Q_23537385.html
Help with drag / drop in Flex advanceddatagrid
http://people.knowledgetree.com/philip/2008/04/01/flex-air-drop-box-prototype.html
Flex AIR Drop Box Prototype
http://www.flashas.net/html/Flex/20071024/2321_3.html
使用Flex和PHP创建自己的视频应用
http://www.webjx.com/htmldata/2007-10-16/1192501644.html
http://www.javaflag.com/viewthread.php?tid=721&extra=page%3D1
Flex和java的socket通信
http://swingchen.javaeye.com/blog/166157
Flex Builder 3 实现 trace 功能
Submitted by Christen on 2008, June 19, 9:00 AM. Flex
Trace的重要性不必我强调,但是在最新的Flex Builder 3 中并不能轻松的实现这个功能,今天参考了《Flex 3 Cookbook》,总算解决了这一问题:
一、下载安装带DEBUG版本的Flash Player;
注意下载Firefox可用的:
Windows Flash Player 9 Plugin content debugger (for Netscape-compatible browsers) (EXE, 1.52 MB)
二、按F11运行工程,即可以在控制台看到Trace输出。
如果想体验高级功能,可以安装 sephiroth 发布的的Firefox插件FlashTracer。
标签:flex, framework20070611 .NET Framework Developer\’s Guide how to
http://www.yippeesoft.com
.NET Framework Developer\’s Guide
How to: Use Smartphone Menus
To conform to the Smartphone user interface, the .NET Compact Framework enforces the following menu restrictions:
*
You can only have two top-level menu items.
*
Only the second top-level menu item, on the right side of the form, can have submenus.
Note that the .NET Compact Framework does not enforce these restrictions at design time, but does throw a NotSupportedException at run time if your code does not follow them.
At run time, you cannot delete a top-level menu item. However, you can set Enabled property of a MenuItem to an empty string ("") to make a menu item appear invisible.
Visual Studio automatically adds a MainMenu component to your form when you create Smartphone and Pocket PC applications, but does not add it to child forms. The MainMenu component operates the Smartphone soft keys, but you cannot program their functionality unless you remove the MainMenu component from the form. For more information about programming soft keys, see Using Smartphone Back Key and Soft Keys.
To associate a method with a menu selection, provide code for the Click event for a MenuItem.
Example
This example defines a menu system for a scenario of selecting maps:
*
On the left is the Map Help menu item, which has event handling code that displays a message box.
*
On the right is the Maps menu item, which has two children: My Maps and Add and Remove. These children have, respectively, five and two children of their own.
Visual Basic
Imports System Imports System.Windows.Forms Public Class Form1 Inherits System.Windows.Forms.Form Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu Private WithEvents mi1 As New MenuItem Private mi2 As New MenuItem Private miChildA As New MenuItem Private miChildB As New MenuItem Private WithEvents miGrandChildA1 As New MenuItem Private WithEvents miGrandChildA2 As New MenuItem Private WithEvents miGrandChildA3 As New MenuItem Private WithEvents miGrandChildA4 As New MenuItem Private WithEvents miGrandChildA5 As New MenuItem Private WithEvents miGrandChildB1 As New MenuItem Private WithEvents miGrandChildB2 As New MenuItem Public Sub New() MyBase.New() InitializeComponent() \’Define and add menu items. MainMenu1.MenuItems.Add(mi1) MainMenu1.MenuItems.Add(mi2) mi2.MenuItems.Add(miChildA) mi2.MenuItems.Add(miChildB) miChildA.MenuItems.Add(miGrandChildA1) miChildA.MenuItems.Add(miGrandChildA2) miChildA.MenuItems.Add(miGrandChildA3) miChildA.MenuItems.Add(miGrandChildA4) miChildA.MenuItems.Add(miGrandChildA5) miChildB.MenuItems.Add(miGrandChildB1) miChildB.MenuItems.Add(miGrandChildB2) mi1.Text = "Map Help" mi2.Text = "Maps" miChildA.Text = "My Maps" miChildB.Text = "Add and remove" miGrandChildA1.Text = "Manhattan" miGrandChildA2.Text = "Bronx" miGrandChildA3.Text = "Brooklyn" miGrandChildA4.Text = "Queens" miGrandChildA5.Text = "Staten Island" miGrandChildB1.Text = "Add map" miGrandChildB2.Text = "Delete map" End Sub Public Shared Sub Main() Application.Run(New Form1) End Sub \’Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) MyBase.Dispose(disposing) End Sub Private Sub InitializeComponent() Me.MainMenu1 = New System.Windows.Forms.MainMenu() Me.Menu = Me.MainMenu1 Me.Text = "Form1" End Sub \’ The following subroutine handles the \’ Click event for the mi1 MenuItem. Private Sub mi1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mi1.Click MessageBox.Show("This is just a test.") End Sub End Class
C#
using System; using System.Windows.Forms; namespace SmartphoneMenus &leftsign; public class Form1 : System.Windows.Forms.Form &leftsign; private System.Windows.Forms.MainMenu mainMenu1; private MenuItem mi1 = new MenuItem(); private MenuItem mi2 = new MenuItem(); private MenuItem miChildA = new MenuItem(); private MenuItem miChildB = new MenuItem(); private MenuItem miGrandChildA1 = new MenuItem(); private MenuItem miGrandChildA2 = new MenuItem(); private MenuItem miGrandChildA3 = new MenuItem(); private MenuItem miGrandChildA4 = new MenuItem(); private MenuItem miGrandChildA5 = new MenuItem(); private MenuItem miGrandChildB1 = new MenuItem(); private MenuItem miGrandChildB2 = new MenuItem(); public Form1() &leftsign; InitializeComponent(); mainMenu1.MenuItems.Add(mi1); mainMenu1.MenuItems.Add(mi2); mi2.MenuItems.Add(miChildA); mi2.MenuItems.Add(miChildB); miChildA.MenuItems.Add(miGrandChildA1); miChildA.MenuItems.Add(miGrandChildA2); miChildA.MenuItems.Add(miGrandChildA3); miChildA.MenuItems.Add(miGrandChildA4); miChildA.MenuItems.Add(miGrandChildA5); miChildB.MenuItems.Add(miGrandChildB1); miChildB.MenuItems.Add(miGrandChildB2); // Event handler for the top left menu. mi1.Click +=new EventHandler(mi1_Click); // Event handlers for grandchild menu items. This code is commented out // because this example does not define their event handling methods. // miGrandChildA1.Click +=new EventHandler(miGrandChildA1_Click); // miGrandChildB1.Click +=new EventHandler(miGrandChildB1_Click); // miGrandChildB2.Click +=new EventHandler(miGrandChildB2_Click); mi1.Text = "Map Help"; mi2.Text = "Maps"; miChildA.Text = "My Maps"; miChildB.Text = "Add and remove"; miGrandChildA1.Text = "Manhattan"; miGrandChildA2.Text = "Bronx"; miGrandChildA3.Text = "Brooklyn"; miGrandChildA4.Text = "Queens"; miGrandChildA5.Text = "Staten Island"; miGrandChildB1.Text = "Add map"; miGrandChildB2.Text = "Remove map"; &rightsign; protected override void Dispose( bool disposing ) &leftsign; base.Dispose( disposing ); &rightsign; private void InitializeComponent() &leftsign; this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.Menu = this.mainMenu1; this.Text = "Form1"; &rightsign; static void Main() &leftsign; Application.Run(new Form1()); &rightsign; // The following method handles the // Click event for the mi1 MenuItem. private void mi1_Click(object sender, EventArgs e) &leftsign; MessageBox.Show("This is just a test."); &rightsign; &rightsign; &rightsign;
Compiling the Code
This example requires references to the following namespaces:
*
System
*
System.Windows.Forms
How to: Set Smartphone Input Modes
You can set the input mode for a TextBox in a Smartphone application to ABC, T9, and numeric input modes as defined by the InputMode enumeration. The InputModeEditor class provides access to Smartphone input methods for entering text.
The AlphaCurrent mode is the preferred input mode value for text boxes used for alpha characters. This mode matches the mode selected by holding down the star (*) key on the Smartphone.
You cannot use InputModeEditor to explicitly change casing settings for alpha input modes. However, the alpha input mode used (T9 or ABC) are retained by the AlphaCurrent input mode when set with the star key.
You can only use InputModeEditor on a Smartphone, and only with a TextBox control.
Example
The following code example shows setting the input mode on three text boxes: Name, Phone, and City. The Name and City text boxes are set with the AlphaCurrent input mode and the Phone text box is set with the Numeric input mode.
To observe how AlphaCurrent works, perform the following procedure:
1.
With the Name text box selected, hold down the star key and enter text using either the T9 or ABC input modes.
2.
Enter text in the City text box. Note that the input mode is the same as the Name text box.
Visual Basic
Imports System Imports System.Windows.Forms Imports Microsoft.WindowsCE.Forms Public Class Form1 Inherits System.Windows.Forms.Form Private mainMenu1 As System.Windows.Forms.MainMenu Private mi1 As System.Windows.Forms.MenuItem \’ Text box for name. Private textBox1 As System.Windows.Forms.TextBox \’ Text box for phone number. Private textBox2 As System.Windows.Forms.TextBox \’ Text box for city. Private textBox3 As System.Windows.Forms.TextBox \’ Labels for name, phone, and city Private label1 As System.Windows.Forms.Label Private label2 As System.Windows.Forms.Label Private label3 As System.Windows.Forms.Label Public Sub New() InitializeComponent() \’ Add a menu to close the application. mi1 = New MenuItem() mainMenu1.MenuItems.Add(mi1) AddHandler mi1.Click, AddressOf mi1_Click mi1.Text = "Done" \’ Set input mode for name text box to AlphaCurrent. InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent) \’ Set input mode for phone number text box to Numeric. InputModeEditor.SetInputMode(textBox2, InputMode.Numeric) \’ Set input mode for city text box to AlphaCurrent. InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent) End Sub Protected Overrides Sub Dispose(disposing As Boolean) MyBase.Dispose(disposing) End Sub Private Sub InitializeComponent() Me.mainMenu1 = New System.Windows.Forms.MainMenu() Me.mainMenu1 = New System.Windows.Forms.MainMenu() Me.textBox1 = New System.Windows.Forms.TextBox() Me.textBox2 = New System.Windows.Forms.TextBox() Me.textBox3 = New System.Windows.Forms.TextBox() Me.label1 = New System.Windows.Forms.Label() Me.label2 = New System.Windows.Forms.Label() Me.label3 = New System.Windows.Forms.Label() \’ \’ textBox1 \’ Me.textBox1.Location = New System.Drawing.Point(64, 8) Me.textBox1.Size = New System.Drawing.Size(104, 25) Me.textBox1.Text = "" \’ \’ textBox2 \’ Me.textBox2.Location = New System.Drawing.Point(64, 40) Me.textBox2.Size = New System.Drawing.Size(104, 25) Me.textBox2.Text = "" \’ \’ textBox3 \’ Me.textBox3.Location = New System.Drawing.Point(64, 72) Me.textBox3.Size = New System.Drawing.Size(104, 25) Me.textBox3.Text = "" \’ \’ label1 \’ Me.label1.Location = New System.Drawing.Point(8, 8) Me.label1.Size = New System.Drawing.Size(56, 22) Me.label1.Text = "Name" \’ \’ label2 \’ Me.label2.Location = New System.Drawing.Point(8, 40) Me.label2.Size = New System.Drawing.Size(56, 22) Me.label2.Text = "Phone" \’ \’ label3 \’ Me.label3.Location = New System.Drawing.Point(8, 72) Me.label3.Size = New System.Drawing.Size(56, 22) Me.label3.Text = "City" \’ \’ Form1 \’ Me.Controls.Add(textBox1) Me.Controls.Add(textBox2) Me.Controls.Add(textBox3) Me.Controls.Add(label1) Me.Controls.Add(label2) Me.Controls.Add(label3) Me.Menu = Me.mainMenu1 Me.Text = "Input Mode Demo" End Sub Shared Sub Main() Application.Run(New Form1()) End Sub Private Sub mi1_Click(sender As Object, e As EventArgs) Me.Close() End Sub End Class
C#
using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using Microsoft.WindowsCE.Forms; public class Form1 : System.Windows.Forms.Form &leftsign; private System.Windows.Forms.MainMenu mainMenu1; private System.Windows.Forms.MenuItem mi1; // Text box for name. private System.Windows.Forms.TextBox textBox1; // Text box for phone number. private System.Windows.Forms.TextBox textBox2; // Text box for city. private System.Windows.Forms.TextBox textBox3; // Labels for name, phone, and city private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; public Form1() &leftsign; InitializeComponent(); // Add a menu to close the application. mi1 = new MenuItem(); mainMenu1.MenuItems.Add(mi1); mi1.Click +=new EventHandler(mi1_Click); mi1.Text = "Done"; // Set input mode for name text box to AlphaCurrent. InputModeEditor.SetInputMode(textBox1, InputMode.AlphaCurrent); // Set input mode for phone number text box to Numeric. InputModeEditor.SetInputMode(textBox2, InputMode.Numeric); // Set input mode for city text box to AlphaCurrent. InputModeEditor.SetInputMode(textBox3, InputMode.AlphaCurrent); &rightsign; protected override void Dispose( bool disposing ) &leftsign; base.Dispose( disposing ); &rightsign; private void InitializeComponent() &leftsign; this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.mainMenu1 = new System.Windows.Forms.MainMenu(); this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); this.textBox3 = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); // // textBox1 // this.textBox1.Location = new System.Drawing.Point(64, 8); this.textBox1.Size = new System.Drawing.Size(104, 25); this.textBox1.Text = ""; // // textBox2 // this.textBox2.Location = new System.Drawing.Point(64, 40); this.textBox2.Size = new System.Drawing.Size(104, 25); this.textBox2.Text = ""; // // textBox3 // this.textBox3.Location = new System.Drawing.Point(64, 72); this.textBox3.Size = new System.Drawing.Size(104, 25); this.textBox3.Text = ""; // // label1 // this.label1.Location = new System.Drawing.Point(8, 8); this.label1.Size = new System.Drawing.Size(56, 22); this.label1.Text = "Name"; // // label2 // this.label2.Location = new System.Drawing.Point(8, 40); this.label2.Size = new System.Drawing.Size(56, 22); this.label2.Text = "Phone"; // // label3 // this.label3.Location = new System.Drawing.Point(8, 72); this.label3.Size = new System.Drawing.Size(56, 22); this.label3.Text = "City"; // // Form1 // this.Controls.Add(this.textBox1); this.Controls.Add(this.textBox2); this.Controls.Add(this.textBox3); this.Controls.Add(this.label1); this.Controls.Add(this.label2); this.Controls.Add(this.label3); this.Menu = this.mainMenu1; this.Text = "Input Mode Demo"; &rightsign; static void Main() &leftsign; Application.Run(new Form1()); &rightsign; private void mi1_Click(object sender, EventArgs e) &leftsign; this.Close(); &rightsign; &rightsign;
Compiling the Code
This example requires references to the following namespaces:
*
System
*
System.Windows.Forms
How to: Scroll a Form of Labels
Because a Label control does not receive the focus and does not support tabbing, a Smartphone application of only Label controls does not allow the user to navigate to labels beyond the visible client area of the form. The user of a Pocket PC application can tap the scroll bars to navigate, but this capability is not available on the Smartphone.
You can implement navigation by providing code in the event handler for the KeyDown event that adjusts the AutoScrollPosition property.
To scroll a form of Label controls
1.
Add several Label controls to the form so that some are below the visible client area. Use arrow keys in the Microsoft Visual Studio 2005 designer or write initialization code to position them.
2.
In the form\’s constructor, set the KeyPreview and AutoScroll properties to true. C# users must attach a delegate for the KeyDown event handler.
Visual Basic
Me.KeyPreview = True Me.AutoScroll = True
C#
this.KeyPreview = true; this.KeyDown += new KeyEventHandler(Form1_KeyDown); this.AutoScroll = true;
3.
Set the AutoScrollPosition property to move vertically by a set number of pixels for the y point coordinate. The following code example uses 16. Note that the code is complex because AutoScrollPosition is offset by negative values, but the provided point values must be expressed as positive.
Visual Basic
Private Sub Form1_KeyDown(ByVal Sender As System.Object, _ ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = System.Windows.Forms.Keys.Up Then Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y – 16) End If If e.KeyCode = System.Windows.Forms.Keys.Down Then Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y + 16) End If End Sub
C#
private void Form1_KeyDown(object sender, KeyEventArgs e) &leftsign; if ((e.KeyCode == System.Windows.Forms.Keys.Up)) &leftsign; this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y – 16); &rightsign; if ((e.KeyCode == System.Windows.Forms.Keys.Down)) &leftsign; this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y + 16); &rightsign;
Compiling the Code
This example requires references to the following namespaces:
*
System
*
System.Windows.Forms
How to: Override the Smartphone Back Key
NoteNote
Note that back key functionality is critical for navigating between Smartphone applications. In most cases, it is contrary to Smartphone user interface guidelines to alter the default navigation behavior of the back key. Use discretion in determining when to override this functionality.
You can customize the back key in Smartphone applications, such as for a game. It operates according depending on the context of the key press, as described in the following table.
Back Key Operation Context
Cancels modal dialog boxes.
Always.
Cancels shortcut menus.
Always.
Performs a backspace operation.
When the focus is on an editable control, such as a text box, or on an editable custom control.
Navigates to the next window in the z-order.
Note that when the focus is on a form or custom control, the back key raises a KeyPress event that you can handle to provide your own functionality, as demonstrated in the example.
If you do not handle the event, the focus navigates to the next window in the z-order.
When the focus is on a form, non-editable control (such as a radio button), or non-editable custom control.
The back key operates the same way regardless of whether there is a menu bar. A menu bar exists if the form contains a MainMenu component.
Example
The following code example shows how to implement custom back key functionality. When the back key is pressed on a form or custom control, it raises the KeyPress event with the KeyChar value equal to the ESC key (27). In the event handling code, determine whether the ESC key value was raised. If it was, cancel the default back key operation by setting the Handled property to true. If the event arguments are not handled, the back key navigates to the next window in the z-order.
Visual C# users need to define an event hander for the KeyPress event in the form\’s constructor.
C#
// Connect an event handler to the KeyPress event this.KeyPress += new KeyPressEventHandler(OnKeyPress);
Visual Basic
Private Sub keypressed(ByVal o As [Object], _ ByVal e As KeyPressEventArgs) Handles MyBase.KeyPress \’ Determine if ESC key value is raised. If e.KeyChar = ChrW(Keys.Escape) Then \’ Handle the event to provide your own functionality. e.Handled = True \’ Add your event handling code here. MsgBox("Custom back key functionality.") End If End Sub
C#
private void OnKeyPress(object sender, KeyPressEventArgs ke) &leftsign; // Determine if ESC key value is pressed. if (ke.KeyChar == (Char)Keys.Escape) &leftsign; // Handle the event to provide functionality. ke.Handled = true; // Add your event handling code here. MessageBox.Show("Back key was pressed."); &rightsign; &rightsign;
Compiling the Code
This example requires references to the following namespaces:
*
System
*
System.Windows.Forms
标签:.net, Dev, framework, gui, guid, ide20070430 广告 mcafeeframework OpenService FAILED 5
http://www.yippeesoft.com
撤销广告,收入大抵如下
日期 CPC数量 CPC收益 CPM数量 CPM收益 CPA数量 CPA收益 DM数量 DM收益 收益总计
2007年02月01日 1 0.09 1 0.0 0 0.0 0 0.0 0.09
2007年02月02日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
2007年02月03日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
2007年02月04日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
2007年02月05日 2 0.13 0 0.0 0 0.0 0 0.0 0.13
2007年02月06日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
2007年02月07日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
2007年02月08日 0 0.0 0 0.0 0 0.0 0 0.0 0.0
总计 3 0.22 1 0.00 0 0.00 0 0.0 0.22
也就是说,如果全靠广告,不涉及××××子类的,那么可以考虑不如练习辟谷之类的更为实际
GOOGLE的做了一年多,70多美元,然后EMAIL通知作弊取消
窄告大抵不到二十元,大概三个月左右
卸载了MCAFEE,可能没有停止MCAFEE的自我保护,结果
c:\\>sc delete mcafeeframework
[SC] OpenService FAILED 5:
资料:
If I try to go to the service properties I get an access denied error. If I run sc query wuauserv I get the following message:
[SC] EnumQueryServicesStatus:OpenService FAILED 5:
Access is denied.
You must manually fix this through the registry. Here are the steps:
1. Open the registry using regedit (start –> run –> regedit).
2. Navigate to the Services. HKey_Local_Machine/System/CurrentControlSet/Services
3. Identify a service that is working … goto that Service and Security. For example, I used the WWW service (W3SVC), but you can use any working service (HKey_Local_Machine/System/CurrentControlSet/Services/W3SVC/ Security.
4. Doubleclick the \’Security\’ element.
5. Copy to the clipboard the hexadecimal values (highlight and copy using Ctrl-C).
6. Click Cancel.
7. Now goto HKey_Local_Machine/System/CurrentControlSet/Services/wuauser v/Security
8. Doubleclick the \’Security\’ tab.
9. Delete the existing the Security value (highlight and press delete), and paste in the one from step 5 (Ctrl-V).
9. Click OK.
10. Reboot the machine
Note that this solution borrow\’s another services security settings. While in most cases this should solve your problem, if you\’re working for something mission critical, you may want to get a little more feedback on the dangers of doing this. You could always manually configure the security settings for a working process through the Windows UI, and then perform the steps above on the corrupted service.
删除McAfee Common Management Agent服务(删除McAfeeFramework键值):
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\McAfeeFramework
McAfee VirusScan服务(删除McShield及McTaskManager键值):
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\McShield
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\McTaskManager
如下注册表处有相关键值直接删除:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates
HKEY_CURRENT_USER\\Software\\Network Associates
RUN键值项(删除ShStatEXE及McAfeeUpdaterUI键值):
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\ShStatEXE
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\McAfeeUpdaterUI
这是VISTA下面
WinVista 5600, Dell Inspiron 600m. Already deleted the .sys files and set the HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Servic es\\sptd – start to 4. And rebooted.
Install still fails silently both for full install and sptd standalone.
The problem:
C:\\USERS\\ME>sc query sptd
SERVICE_NAME: sptd
TYPE : 1 KERNEL_DRIVER
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1077 (0×435)
SERVICE_EXIT_CODE : 0 (0×0)
CHECKPOINT : 0×0
WAIT_HINT : 0×0
C:\\USERS\\ME>sc delete sptd
[SC] OpenService FAILED 5:
Access is denied.
(Yes, I\’m an admin.)
*edit*
What worked: I can\’t run just command prompt (command.com) as admin for some reason…. but I can run PowerShell as admin. (It\’s a somewhat useful addon, btw – I recommend getting it.)
And from it:
C:\\WINDOWS\\System32>cmd /k sc delete sptd
[SC] DeleteService SUCCESS
C:\\WINDOWS\\System32>cmd /k sc query sptd
[SC] EnumQueryServicesStatus:OpenService FAILED 1060:
The specified service does not exist as an installed service.
Huzzah! Now I reran the daemon install, it didn\’t silent-crash, and wants me to reboot. Which I am about to do.
Unless you see another message, it worked.
可惜是日文
皆様こんにちは。
現在Windows2003Serverにてローカルコンピュータのadministrator権限を持たない
ドメインユーザーに特定のサービスの開始・停止を行わせたく、思考錯誤しております。
実際にサービスウィンドウから開始すると、以下のエラーメッセージが表示され
サービスの開始ができません。
–
ローカルコンピュータの○○○サービスを開始できません。
エラー5: アクセスが拒否されました。
–
またSCコマンドでも以下のような同内容のメッセージが表示されます。
–
[SC] StartService: OpenService FAILED 5:
–
Windowsヘルプを参照しますと、以下のような記述がありますが、
–
この手順を実行するには、ローカル コンピュータの Administrators グループのメンバであるか、または適切な権限が委任されている必要があります。ドメインに参加しているコンピュータでは、Domain Admins グループのメンバがこの手順を実行できる場合があります。
–
この「Administrators グループのメンバであるか、または適切な権限が委任されている必要があります。」のうちの「適切な権限」とはどのような権限を指すのでしょうか?
また設定方法はどのようにすれば良いのでしょうか?
先輩方のお力をお貸し下さい。
宜しくお願いいたします。
Microsoft .NET Compact Framework 开发常见问题解答
http://www.microsoft.com/china/msdn/library/NetFramework/netcompactframework/understandingnetcfFAQ.mspx
1. 开发
1.1. 什么是 Microsoft .NET Compact Framework?
Microsoft .NET Compact Framework 是针对 Microsoft .NET 计划的智能设备开发框架,是实现 Microsoft 随时随地在任何设备上为客户提供良好体验的目标的关键所在。.NET Compact Framework 将托管代码和 Web 服务带给了智能设备,它允许安全的、可下载的应用程序在诸如个人数字助理 (PDA)、移动电话和机顶盒等设备上运行。
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/overview/default.aspx
1.2.开发 .NET Compact Framework 应用程序需要什么工具?
Visual Studio .NET 为基于 Windows Mobile 的 Pocket PC 2000、基于 Windows Mobile 的 Pocket PC 2002 和 Windows CE .NET 4.1 设备开发基于 .NET Compact Framework 的应用程序需要 2003 Professional 或更高版本。Visual Studio .NET 2003 附带了 .NET Compact Framework。
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/vstudio/default.aspx
在最新的 Windows Mobile 平台上进行开发还有其他的 SDK 可用:
Windows Mobile 2003 Pocket PC SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=9996b314-0364-4623-9ede-0b5fbb133652&displaylang=en
Windows Mobile 2003 Smartphone SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=a6c4f799-ec5c-427c-807c-4c0f96765a81&displaylang=en
本文将提供用 .NET Compact Framework 1.0 和 Visual Studio .NET 2003 开发健壮的智能客户端设备应用程序的说明。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfgetstarted.asp
1.3. 哪里可以下载最新的工具和软件?
Visual Studio .NET 2003 试用版可以通过以下地址获得:
http://msdn.microsoft.com/vstudio/productinfo/trial/default.aspx
最新的平台更新和 .NET Compact Framework service pack 可以通过以下地址获得:
http://msdn.microsoft.com/mobility/downloads/default.aspx
1.4. .NET Compact Framework 支持什么设备?
.NET Compact Framework 支持基于 Windows Mobile 2000 的 Pocket PC、基于 Windows Mobile 2002 的 Pocket PC、基于 Windows Mobile 2003 的 Pocket PC、基于 Windows Mobile 的 Smartphone 和运行 Windows CE .NET 4.1 及更高版本的嵌入式系统。
1.5. 以后 .NET Compact Framework 将会支持什么设备?
不久以后,.NET Compact Framework 将会作为一个操作系统 (OS) 组件,在所有的 Microsoft 智能设备中提供,包括将来基于 Windows Mobile 的 Pocket PC 设备、基于 Windows Mobile 的 Pocket PC Phone Edition、基于 Windows Mobile 的 Smartphone、Windows CE for Automotive 和 MSTV。每种特定设备的具体时间选择将由各个产品发布周期确定。
Windows CE .NET 4.1 也支持 .NET Compact Framework,将其作为一个集成的 OS 组件,因此允许 OEM 使用 Platform Builder 工具将 .NET Compact Framework 嵌入到所有装备 Windows CE 的新设备中。
1.6. 调试器在与模拟器建立连接时为什么会失败(错误启动应用程序)?
以下链接是针对调试的安装和疑难解答指南:
http://download.microsoft.com/download/c/d/b/cdbff573-73fb-4f9f-a464-c5adc890e1ae/Readme.htm
1.7. .NET Framework 和 .NET Compact Framework 之间有什么区别?
请参见下面 .NET Framework 和 .NET Compact Framework 之间的比较:
http://msdn.microsoft.com/library/en-us/dv_evtuv/html/etconComparisonsWithNETFramework.asp
.NET Compact Framework 类库比较工具中的信息:
http://msdn.microsoft.com/library/en-us/dv_spchk/html/NET_Compact_Framework.htm
1.8.最新的 .NET Compact Framework Service Pack 有什么新内容?
.NET Compact Framework SP2 提供了针对大量缺陷的补丁。补丁列表可由以下链接获得:
http://www.microsoft.com/downloads/details.aspx?familyid=10600643-09b3-46d8-ba28-bc494bc20d26&displaylang=en
.NET Compact Framework SP1 提供了针对大量缺陷的补丁。补丁列表可由以下链接获得:
http://www.microsoft.com/downloads/details.aspx?familyid=1f62a2a3-7282-4ba9-b26b-2267e972501d&displaylang=en
注: Service Pack 2 (SP2) 替代了 Service Pack 1 (SP1),它包括所有 service pack 的最新更新。
1.9. 在 .NET Compact Framework 开发中,基于 Windows Mobile 的 Pocket PC 和 Windows CE .NET 之间有什么区别?
这篇文章概述了为基于 Windows Mobile 的 Pocket PC 和 Microsoft Windows CE .NET 平台开发基于 Microsoft .NET Compact Framework 的应用程序之间的区别。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/netcfPPCtoCE.asp
1.10. 在哪里可以找到有关如何创建基于 .NET Compact Framework 的应用程序的更多信息?
下列资源有助于您了解如何创建基于 .NET Compact Framework 的应用程序:
? .NET Compact Framework 快速入门
http://samples.gotdotnet.com/quickstart/compactframework/
? MSDN 移动与嵌入式技术开发人员中心中的 .NET Compact Framework 白皮书:
http://msdn.microsoft.com/mobility/understanding/articles/default.aspx
1.11. .NET Compact Framework 的文档在什么位置?
http://msdn.microsoft.com/library/en-us/dv_evtuv/html/etconNETCompactFramework.asp
1.12. 如何指定在每次调试器运行时不必复制依赖文件?
在 Visual Studio .NET 2003 中,右键单击该项目并选择 Properties。将 Build Action 更改为 None。这样就不会再复制此文件了。如果此文件已修改或者需要再复制,则将 Build Action 更改为 Content。
1.13. 如何设置模拟器属性?
在 Visual Studio .NET 2003 中,从菜单中选择 Tools->Options。然后打开 Device Tools 文件夹并选择 Devices。现在应该能看到一个显示设备选择列表的对话框。选择您想要修改的设备,然后按 Configure 按钮。
现在您应该能够看到一个含有几个选项卡的对话框,它允许您访问和修改设置,例如内存和屏幕大小。
1.14. 如何调试 Microsoft .NET Compact Framework 应用程序?
Microsoft .NET Compact Framework 完全集成在 Visual Studio .NET 2003 中,它支持的调试功能与对其他 Visual Studio .NET 应用程序类型可用的调试功能相同。但是,在独立设备或在仿真器中调试运行的应用程序时,用户需要注意一些特殊事项。请参考下列建议以获得最详尽的 .NET Compact Framework 调试体验:
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/CompactFXDebug.asp
1.15. 如何开始使用 Visual Basic .NET 为设备开发应用程序?
了解如何使用用于 Visual Studio .NET 的智能设备扩展 (SDE) 来为支持 .NET Compact Framework 的智能设备构建 Windows 应用程序。这篇文章包括对整个开发、调试和部署过程的检查,并探讨了 .NET Framework 和 .NET Compact Framework 之间的区别。
http://msdn.microsoft.com/library/en-us/dnnetcomp/html/sdeforvb.asp
12. 基于 Windows Mobile 的 Smartphone
12.1. 从哪里可以获得最新的基于 Windows Mobile 的 Smartphone SDK?
从这里可以下载 Windows Mobile 2003 Smartphone SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=a6c4f799-ec5c-427c-807c-4c0f96765a81&displaylang=en
12.2. 基于 Windows Mobile 的 Smartphone 菜单的规则是什么?
基于 Windows Mobile 的 Smartphone 菜单有若干规则,例如:
? 第一个菜单项(对应于左边的软按钮)不能有任何子项
? 第二个菜单项(对应于右边的软按钮)可以有子项
? 其他任何顶级菜单项都不使用
如果第一个菜单项有不止一个项,则会产生 NotSupportedException。
要获得完整的需求列表,请参考
基于 Windows Mobile 的 Smartphone 帮助文档。
前面的链接是从 Windows Mobile 2003 Smartphone SDK 引用的:
http://www.microsoft.com/downloads/details.aspx?familyid=a6c4f799-ec5c-427c-807c-4c0f96765a81&displaylang=en
12.3. 当创建基于 Windows Mobile 的 Smartphone 项目时,为什么在工具箱会有禁用的控件?
基于 Windows Mobile 的 Smartphone 平台只支持一小组控件。不支持的控件则禁用。
有关更多信息,请参考下面的
基于 Windows Mobile 的 Smartphone 帮助文档。
前面的链接是从 Windows Mobile 2003 Smartphone SDK 引用的:
http://www.microsoft.com/downloads/details.aspx?familyid=a6c4f799-ec5c-427c-807c-4c0f96765a81&displaylang=en
12.4. 基于 Windows Mobile 的 Smartphone 是否支持 .NET Compact Framework 的 RAM 安装?
不支持。.NET Compact Framework 是通过操作系统更新提供的,这取决于运营商 /OEM 的决定。因此,.NET Compact Framework 通常会作为更大的用于 Smartphone 的 Windows Mobile 操作系统更新的一部分提供。
12.5. 如何设置全屏多行编辑控件窗口的标题?
当前版本的 .NET Compact Framework 中不支持这项功能。
12.6. 如何通过现有的基于 Windows Mobile 的 Pocket PC CAB 文件生成基于 Windows Mobile 的 Smartphone CABWizSP XML 文档?
从 Windows Mobile Developer Power Toys 下载 Convert PPC DAT to SP XML:
http://www.microsoft.com/downloads/details.aspx?FamilyId=74473FD6-1DCC-47AA-AB28-6A2B006EDFE9&displaylang=en
12.7. 如何通过 ActiveSync 向基于 Windows Mobile 的 Smartphone 2003 Emulator 发送字符和字符串?
从 Windows Mobile Developer Power Toys 下载 TypeIt:
http://www.microsoft.com/downloads/details.aspx?FamilyId=74473FD6-1DCC-47AA-AB28-6A2B006EDFE9&displaylang=en
12.8. 如何以编程方式设置基于 Windows Mobile 的 Smartphone 输入模式?
可以根据以下代码,使用 GetFocus 和 SendMessage API 来设置输入模式:
\’VB
Imports System.Runtime.InteropServices
Public Const EM_SETINPUTMODE As Integer = &HDE
Public Const EIM_SPELL As Integer = 0
Public Const EIM_AMBIG As Integer = 1
Public Const EIM_NUMBERS As Integer = 2
_
Public Shared Function GetFocus() As IntPtr
End Function
_
Public Shared Function SendMessage(ByVal hWnd As IntPtr, _
ByVal Message As Integer, ByVal wParam As Integer, _
ByVal lParam As Integer) As Integer
End Function
\’Sample use setting TextBox to number input
Private Sub txtAmount_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles txtAmount.GotFocus
Dim hWnd As IntPtr
hWnd = Me.GetFocus()
SendMessage(hWnd, EM_SETINPUTMODE, 0, EIM_NUMBERS)
txtAmount.SelectionStart = txtAmount.Text.Length
End Sub
//C#
using System.Runtime.InteropServices;
public const uint EM_SETINPUTMODE = 0xDE;
public const uint EIM_SPELL = 0;
public const uint EIM_AMBIG = 1;
public const uint EIM_NUMBERS = 2;
[DllImport("coredll.dll")]
public static extern IntPtr GetFocus();
[DllImport("coredll.dll")]
public static extern int SendMessage(IntPtr hWnd,
uint Message, uint wParam, uint lParam);
// Sample use setting TextBox to number input
private void Form1_Load(object sender, System.EventArgs e)
&leftsign;
txtAmount.GotFocus +=
new System.EventHandler(txtAmount_GotFocus);
&rightsign;
private void txtAmount_GotFocus(object sender, System.EventArgs e)
&leftsign;
IntPtr hWnd;
hWnd = GetFocus();
SendMessage(hWnd, EM_SETINPUTMODE, 0, EIM_NUMBERS);
txtAmount.SelectionStart = txtAmount.Text.Length;
&rightsign;