欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

UU'S T&T

TIPS AND TROUBLESHOOTS FOR WINDOWS

公告

  • 本Blog站点上的任何言论仅代表个人观点,与其所在的公司没有任何关系。本Blog站点的内容是按原样提供的,作者与其公司并不对其提供任何种类的担保。此外还否认所有暗示的保证,包括但不局限于在任何试销性或某一特定用途的适用性方面的暗示保证。由于本站内容的使用或性能表现带来的全部风险将由使用者自己承担。任何由于使用或无法使用本站内容而带来的损失(包括但不局限于商业利润、业务中断、业务信息或其他财产上的损失),即使在 本站作者曾经被提醒可能出现这些损失的情况下,本站 及其作者或涉及内容创建的任何其他人等对任何上述的损失概不负责。
    ·本BLOG的内容均属技术交流之用,本人对所发表的文章、图片、随笔保留一切权利。
    如文章、图片、随笔转载请注明:
    作者姓名:尤扬
    文章来源URL:
    http://blogs.itecn.net/blogs/youyang
    同时请通过EMAIL通知本人:
    youyang1983◎hotmail.com
    ·如果通过EMAIL与我联系,并最终解决的问题,我将发表于本BLOG进行技术分享,如果涉及隐私或有特殊要求请于EMAIL中说明!
    本人联系方式:
    MSN ID:youyang1983◎hotmail.com(常用)
    QQ ID:85836514
    ·技术就是无条件共享


    2005年7月 Microsoft MVP for Windows-Shell\User
    2006年7月 Microsoft MVP for Windows-Shell\User
    2007年7月 Microsoft MVP for Windows-Shell\User
    2008年7月 Microsoft MVP for Windows-Shell\User

Win7 RC: 如果CPU无法支持VPC7,我该怎么办?

Windows Virtual PC(VPC7),这个东东很拉风,不过有些CPU无法支持它,我的Dell OptiPlex 755上的Intel(R) Core(TM)2 Duo CPU     E7200  @ 2.53GHz,2533 Mhz,就是如此,貌似当年为了控制成本,不少商用机CPU都没带 Intel™ Virtualization Technology/AMD-V®(说实话,我也是在VPC7出来之后才注意到有这么个技术的...)。

那我还想用VPC怎么办?

答案1:选择VPC 2007 SP1,下载:http://www.microsoft.com/downloads/details.aspx?FamilyId=28C97D22-6EB8-4A09-A7F7-F6C7A1F000B5&displaylang=en

不过有个地方要注意(我被这个地方骗了):

如果你的Windows 7RC上已经安装了Windows Virtual PC(VPC7),你发现自己CPU无法支持,想安装VPC2007时会出现以下的提示:

要解决这个问题,你需要关掉安装的Windows Virtual PC 7:

1.控制面板-> 程序->程序和功能->打开或关闭Windows功能,

2. 去掉Windows Virtual PC的选项,如下图:

3.重启Win7,然后双击VPC2007的安装程序完成安装。

答案2: 安装VMware,不过这个东东要付钱,我就没试过了,不过据说可以...

Windows 7 系列TechNet技术指引视频上线

Windows 7 Beta发布以来,一个感觉,7会针对Vista带来的问题进行改善:

工作时当你真正淹没在Word, Excel, Outlook, Project,IE,VSTS,MSN, QQ, Office Communicater, Windows Explorer 的时候,你最希望什么?简单点,快速的切换窗口。

UAC改变了你的使用习惯,鼠标右键,鼠标左键...,能快点吗?

Runas参数真多,但是你想在Vista上以其他用户身份运行应用程序又能怎样呢?

如果你想了解答案,那么就来看看技术指引视频:

http://technet.microsoft.com/zh-cn/dd793600.aspx

  

 

Request failed: Cannot close stream until all bytes are written. VSTS2008 SP1 Web Test File Upload Parameter的诡异异常

如果你使用VSTS 2008 SP1的WEB TEST向服务器上传文件时出现下列现象的: 

Request failed: Cannot close stream until all bytes are written.

 System.Net.WebException: The request was aborted: The request was canceled. ---> System.IO.IOException: Cannot close stream until all bytes are written.
   at System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean aborting)
   --- End of inner exception stack trace ---
   at System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean aborting)
   at System.Net.ConnectStream.System.Net.ICloseEx.CloseEx(CloseExState closeState)
   at System.Net.ConnectStream.Dispose(Boolean disposing)
   at System.IO.Stream.Close()
   at Microsoft.VisualStudio.TestTools.WebStress.DataCaptureStream.CloseStreamAndBaseStreams(Stream stream)
   at Microsoft.VisualStudio.TestTools.WebStress.DataCaptureStream.Dispose(Boolean disposing)
   at System.IO.Stream.Close()
   at Microsoft.VisualStudio.TestTools.WebTesting.FormPostHttpBody.WriteHttpBody(WebTestRequest request, Stream bodyStream, Boolean excludeFileContents, Int64& contentLength)
   at Microsoft.VisualStudio.TestTools.WebTesting.FormPostHttpBody.WriteHttpBody(WebTestRequest request, Stream bodyStream)
   at Microsoft.VisualStudio.TestTools.WebStress.WebTestTransaction.IssueRequestWithBody(IAsyncResult ar)

就说明你指定文件没找到(This is actually casued by File Not Found),要注意的是这个东东需要填全路径,而且不能用这种样式:"C:\Doument and Settings\a.jpg", 不能带"

Vista IE 访问淘宝导致IE崩溃问题分析及解决方法

来淘宝上逛逛,申请了支付宝的数字证书,得,IE一到登录界面立马挂掉...

WinDBG attach到IE上,抓了一下,是支付宝安全登录控件的那个ActiveX控件的事情,这家伙要读取本地证书,可是这个是需要本地的管理员权限的...

在Microsoft这么久,UAC这东西习惯性的不关,自然支付宝的控件是没权限读了,于是乎,这控件倒是很牛,直接崩溃了...很是无语,我是做测试的...应该说这是最基本的一个Scenario了...唉,感叹一下。

上支付宝上面瞧了一眼Known Issue,上面让关Vista的UAC...又是无语,做了一个安全控件来保障安全,但是却要关别人的安全机制,很是讽刺。

整个解决方案告诉大家吧,别关UAC!

在开始菜单上面找到IE的图标(开始菜单->所有程序),右键,选择“以管理员身份运行”,之后UAC弹出框选择允许,然后上支付宝就没问题了。

看一下Debug的信息(AV Exception happen):

ntdll!DbgBreakPoint:
77d17dfe cc              int     3
0:029> g
ModLoad: 02670000 0268a000   C:\Program Files\Dell\QuickSet\dadkeyb.dll
ModLoad: 703b0000 703bc000   C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE12\MSOXMLMF.DLL
ModLoad: 6c4b0000 6c507000   C:\Windows\system32\Dxtmsft.dll
ModLoad: 65260000 66178000   C:\Windows\system32\imageres.dll
ModLoad: 05c80000 05d2d000   C:\Windows\system32\aliedit\aliedit.dll
echoTest 被执行
结束输入密码
ModLoad: 64340000 65258000   C:\Windows\system32\imageres.dll
echoTest 被执行
结束输入密码
ModLoad: 65260000 66178000   C:\Windows\system32\imageres.dll
ModLoad: 64340000 65258000   C:\Windows\system32\imageres.dll
ModLoad: 684f0000 68516000   C:\Windows\system32\dssenh.dll
ModLoad: 0b510000 0b530000   C:\Windows\system32\aliedit\pta.dll
(1370.10e0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00000000 ebx=75f0dbbe ecx=07a4408c edx=00000000 esi=00000000 edi=00000044
eip=75f0db57 esp=126aedd0 ebp=126aeddc iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\system32\CRYPT32.dll -
CRYPT32!CertOpenStore+0x60e:
75f0db57 8b07            mov     eax,dword ptr [edi]  ds:0023:00000044=????????

Call Stack (PTA是支付宝的ActiveX控件):

STACK_TEXT: 
WARNING: Stack unwind information not available. Following frames may be wrong.
126aeddc 75f0db7b 00000000 126aee00 75f0dbdd CRYPT32!CertOpenStore+0x60e
126aede8 75f0dbdd 00000000 00000000 75f0db30 CRYPT32!CertOpenStore+0x632
126aee00 0b513acf 00000000 00000000 00000003 CRYPT32!CertEnumCertificatesInStore+0x1f
126aee3c 0b513a74 0059004d 0b510000 00000000 pta+0x3acf
126aee64 0b514641 0b51f240 00010000 00dde300 pta+0x3a74
126aee84 765b7951 079ffed8 126aeee4 00d3dce0 pta+0x4641

126aeea0 765b7bfc 079ffed8 00000020 00000004 OLEAUT32!DispCallFunc+0xb2
126aef30 0b517346 05199244 079ffed8 00000000 OLEAUT32!DispCallFunc+0x35d
126aef58 6c79262c 079ffed8 00000002 6c78edfc pta!DllUnregisterServer+0x4f7
126aef94 04ebe9b7 07b788a8 079ffed8 00000002 jscript!DllCanUnloadNow+0xb1cb
126aeffc 04ebc017 04c4031e 07b788a8 079ffed8 Scxpx86!GetFactory+0x4387
126af07c 6c792524 07b788a8 079ffed8 00000002 Scxpx86!GetFactory+0x19e7
126af0f0 6c792c0e 07b788a8 079ffed8 00000002 jscript!DllCanUnloadNow+0xb0c3
126af134 6c792b05 07b788a8 126af184 00000002 jscript!DllCanUnloadNow+0xb7ad
126af1e8 6c791019 00000000 00000000 00d12500 jscript!DllCanUnloadNow+0xb6a4
126af200 6c792aa8 00000000 00000000 00d3dde0 jscript!DllCanUnloadNow+0x9bb8
126af28c 6c7900f2 07b788a8 0000002c 00000001 jscript!DllCanUnloadNow+0xb647
126af2b8 6c792bb0 07b788a8 00000000 00000001 jscript!DllCanUnloadNow+0x8c91
126af370 6c791019 126af3b4 00000000 07be1738 jscript!DllCanUnloadNow+0xb74f
126af388 6c791b7f 126af3b4 00000000 00000000 jscript!DllCanUnloadNow+0x9bb8
126af3f8 6c77f9d2 07be1738 126af5a8 00000000 jscript!DllCanUnloadNow+0xa71e
126af448 6c77fdf7 126af5a8 126af588 11a55e6c jscript!DllGetClassObject+0x25fc
126af4ac 6c77fc46 1133e00c 0cb95eec 00000000 jscript!DllGetClassObject+0x2a21
126af4d8 0712ca36 11a55e6c 1133e00c 0cb95eec jscript!DllGetClassObject+0x2870
126af538 0712c867 00000000 084d7ce8 08801aa0 mshtml!DllGetClassObject+0x2c7c5
126af5f4 0712c687 00000000 00000000 085c5708 mshtml!DllGetClassObject+0x2c5f6
126af628 0710fe99 084b6ef0 00000000 00000000 mshtml!DllGetClassObject+0x2c416
126af678 0711fc00 00731b98 00000000 084b6ef0 mshtml!DllGetClassObject+0xfc28
126af690 0712595f 0712597d 086baa60 084b6ef0 mshtml!DllGetClassObject+0x1f98f
126af74c 071200f1 0014e50e 086baa60 084b6ef0 mshtml!DllGetClassObject+0x256ee
126af764 07120072 0014e50e 086baa60 084b6ef0 mshtml!DllGetClassObject+0x1fe80
126af77c 07120224 086baa60 0014e50e 084b6ef0 mshtml!DllGetClassObject+0x1fe01
126af79c 07120191 084b6ef0 00000001 126af7bc mshtml!DllGetClassObject+0x1ffb3
126af7ac 07162281 085ba458 084b6ef0 126af7f0 mshtml!DllGetClassObject+0x1ff20
126af7bc 07185647 085ba458 00000000 00000000 mshtml!DllGetClassObject+0x62010
126af7f0 07191df7 126af88c 00008002 00000000 mshtml!DllGetClassObject+0x853d6
126af810 7672f8d2 000107cc 00000015 00000000 mshtml!DllGetClassObject+0x91b86
126af83c 7672f794 07191d46 000107cc 00008002 USER32!GetMessageW+0x93
126af8b4 76730008 00000000 07191d46 000107cc USER32!GetWindowLongW+0x115
126af918 76730060 07191d46 00000000 126af990 USER32!PeekMessageW+0x269
126af928 70bc42c1 126af940 00000000 00000000 USER32!DispatchMessageW+0xf
126af990 76e84911 087c9ab0 126af9dc 77d0e4b6 IEFRAME!Ordinal224+0x11101
126af99c 77d0e4b6 0cb7d4a0 65a07d7d 00000000 kernel32!BaseThreadInitThunk+0x12
126af9dc 77d0e489 70bc3fdb 0cb7d4a0 00000000 ntdll!RtlInitializeExceptionChain+0x63
126af9f4 00000000 70bc3fdb 0cb7d4a0 00000000 ntdll!RtlInitializeExceptionChain+0x36

Windows 7的猜想

随着Windows 7的M3版本发布(从connect.microsoft.com上可以下载), 终于亲手体验了一下传说中的7.

Windows Media Player12,更新的计算器,Gadget的排列方式更智能可以像Mac 的图标方式排列,无疑这个版本带来了很多的用户体验。

随着使用的深入,发现其实内核的变化不多,UAC还在,只是更贴心,不会时不时的蹦出来要你确认,如果你的计算机是触摸屏幕,你甚至可以体验到传说中的Surface技术,有想过放弃鼠标和键盘吗?一切都是你的双手控制...

 突然想到...

Windows 2000和Windows XP的故事,Windows 2000的版本号Windows NT 5.0,Windows XP版本号 Windows NT 5.1,

Windows XP的UI是一次飞跃,但内核没有太大变化...

 我们来猜想...

Windows Vista和Windows 7的故事, Windows Vista版本号6.0, Windows 7的版本号 6.1(目前的信息是这样的)

Windows7的UI又是一次飞跃,但内核和Wndows Vista比较没有太大变化...

看来是时候来迎接Windows 6时代的黄金系统喽!

Windows Live Video Messages

啥也不说了,大家用标题做关键字搜一下GOOGLE,进入服务了,有啥bug记得发Email给我。youyang1983AThotmail.com

特别关心的一个问题:

1. 中国的网络上传和下载有多快。美国这里竟然到了 16M下载/4M上传的速度。

唉,感叹啊!

顺便说下,微软的摄像头还是蛮不错的,面部识别和跟踪的效率不错,哈哈,为同一个team的产品打打广告了。

Microsoft Silverlight V1.0无法进行Automation Testing

从这个帖子起,我的Blog也正式转向了测试技术...

因为产品测试周期太紧,所以我现在是忙晕了的状态,所以尽量发一些简洁的快讯吧。

切入正题:

Microsoft Silverlight V1.0相信很多朋友都见过了,大有与Flash分天下的趋势,但是在V1.0版本中,并没有实现Accessbility的APIs,也就是说,你用Automation Test Framework是无法找到Sliverlight中的控件的,因此你的自动化测试基本就别想了,目前这个问题会在V2.0中解决,V2.0 Beta1好像已经出来了...

Posted: 2008年5月13日 20:36 作者 yangyou | 0 评论
归档在:
Windows7明年发布...

今天MSW上一个醒目的标题-“Bill 说Windows7明年会发布”,想想Windows 6那漫长的开发周期,心里不禁感叹,微软的Windows开发也终于开始提速了,其实,从我的感觉,微软里面很多人会有很鲜明的风格,最明显的Bill和Steven,Bill偏重于技术,往往会重视新技术的研发,但多多少少会忽略一些用户的需求,听很多老前辈说,多年以前,微软里面常常是Developer告诉PM,这个功能不能实现,而相信大家也会感觉到Windows/Office的“霸道”,往往新版本中让用户去适应新的变化,当然,我觉得这也是微软的功绩之一,因为它通过这种变化向用户传递了一种创新。而Steven是做市场出身,相信大家有看到过N年前Steven卖Windows的那个广告,很张扬的性格,但是我觉得市场确实需要这样的人,随着Bill王朝的渐渐退去,微软也正慢慢的进行着变革,产品开发周期的缩短,更注重市场,相信对我们来说是一个好消息。

 

在Redmond的日子

Boss说,到Redmond工作3个月,Have fun,于是乎我就被扔到了这个半里地看不到人影的地方...

作为80后的我们,当技术已经不是障碍的时候,与人的交流与沟通才是真正的难点,整天不停的开会,脑子里面充斥着美语,西班牙口音英语,中国口音的英语,最烦人的是印度人的英语,我的老天爷啊。其次,还得考虑咱说的话他们听了Happy不,好难啊...

Microsoft这个地方,不管你有什么需求,都会有产品满足你,结果就导致了一个问题,不能说我们作不到,只能去赶快的把这个新东西搞定,用圈内兄弟们的话,如果产品搞不定,就搞定人。

老大们的脑子里面经常是10几个Projects,所以,你别指望老大们帮你想今天要干什么,只能自己去想,实际上更形象的说,老大们就是公章,你有啥需求了,发封信给老大们,他们找相应的人,如果你也不知道让你的老大干什么,那么你的老大也会让你不知道干什么的。

你干IT之前,特别是到Redmond这种地方之前,一定要下定决心,要么找到老婆赶快结婚,要不你就35以后再说,现在是巨痛苦的,哎,望着大韩航空的空姐们只能感叹了,原来国际航线的空姐漂亮都是为了照顾我这样的...

 Redmond这边每小时最低工资7.99USD,我每小时的工资7.50USD,得,还没够上人家的最低工资标准....

招聘

呵呵,有些对不起盆老大,N久没上来,上来就发招聘广告,不过最近确实N忙,顺便发则招聘广告

Microsoft R&D Group下的CTI Team现在招Tester,

要求:

1. 对Testing感兴趣,以前没有经验的也可,不过你得想出来这样一个问题:

让你测NOTEPAD的打开功能,你至少要想出10种以上的Case

2.在Windows Client(Windows Vista/XP),Windows Server 2003, MOSS 2007,SQL SERVER, ASP.NET, IIS, AD的一个方面,或者多个方面(越多越好)有一定的研究,比如:

你知道Windows Vista的 网络知晓服务的原理吗?

你知道AD的组策略分发的原理吗?

3. Coding技巧(可选): 熟悉C++/C#, Batch, Script, PowerShell

4. 英文,我前一阵发现某些同志大学CET 6都过了,结果Release不知道是啥意思,所以,英文的读写功底是要有的,因为Team整个沟通都是英文,至于口语,如果你说的好,倒是有机会被扔到Redmond工作去。

其他

Vendor职位,工作地点在Beijing SIGMA Building,Microsoft R&D Group

MVP优先,有工作经验者优先(2~3年)(刚毕业的同志们,如果你们觉得自己在Testing方面有天赋,那么欢迎),

最后我加一条,是MM的,并且是PLMM的,我负责Training你的Testing Skill,呵呵。

我的联系方式自己找,就像Windows Team面试一样,你首先得能找到面试的地方才有的谈。

中英文简历,你对上面3个问题的回答,PLMM的,你的照片一张,呵呵

Windows SteadyState for Windows Vista is coming

呵呵,看到Alexis的文章《借助 Windows SteadyState 管理多人共用的计算机》,其实,Windows SteadyState就是我们的Team在测试的,就着这个便利条件,给大家一些新的News。

1. Windows SteadyState for Windows Vista 已经有了,并且目前正在测试,相信不久的以后,大家就会看到For Windows Vista版本的Windows SteadyState.

2. Windows XP的Windows SteadyState正在进行和Windows XP Service Pack3的兼容性测试。

3.那个"Undo Disk"功能,比VPC的要强大很多,因为它是可以通过WMI进行编程控制的哦,所以这个功能将来在测试领域会大有作为。

4.大家在使用Windows SteadyState的过程中,如果发现了任何的反常现象,或者你对SteadyState有任何的建议,都可以在这篇贴在下面跟贴,或者直接发信到我的Email: v-yayou@microsoft.com,你的意见和建议都会最快的反馈到产品组的哦,^_^

 

Windows Live One Care 2.0 beta开始对外测试了

梦想赢得一个Windows Vista Ultimate的产品序列号?

梦想得到Windows Live One Care的订阅密钥?

我想很多人应该都想要,靠盗版,靠算号?NO,我们要靠自己的劳动,这样才是实至名归的。

我现在用的Windows Vista Ultimate的序列号就是Microsoft赠送的,而现在用的Windows Live One Care的订阅也是Microsoft 赠送的

呵呵,身为测试工程师的我,自然要向大家多多介绍微软对外的测试站点

http://connect.microsoft.com

在这里,你可以获得最新的Beta产品信息,再也不用为了尝鲜而四处下载不安全的镜像了,

这个站点有一个特性,如果你是一个活跃的用户,那么你可以参与的项目也就越多,而比如Windows Vista/Windows Server 2008 Beta这样的项目,基本到最后都会去奖励表现优异的用户的,自然是PK了。

刚刚看了一下,最近放的是Windows Live One Care 2.0 Beta,大家可以看看去。

Picture: Microsoft

Microsoft 是一个美丽的地方,而我就在这里的某个地方工作:

DSC00089.JPG 

每天,都会看到一句最经典的“您的潜力,我们的动力”,

DSC00077.JPG 

而Microsoft的装修风格也会和Windows的相似^_^

DSC00078.JPG 

至于我的地方,就没外面那么美了,每天8台机器在身边,好热啊!

DSC00080.JPG

但这都没关系,有可以展示智慧的白板,这是我最喜欢的东西

DSC00079.JPG 

每天,最喜欢的时候是晚上8点以后,一切都静静的,少了很多浮躁与喧哗,此时还在公司OT是一种享受。

DSC00081.JPG 

希望在某个时候某个地方也可以在Microsoft看到各位的身影!

DSC00012.JPG 

 

浅谈Bug的价值

话题由Windows的Explorer.exe进程而起,发表一下自己的看法,

在作SDET之前,很多时候,发现Windows的反常现象,或者是一个看似不正常的现象,总是口诛笔伐,认为微软的东西实在是太烂了,连这种问题都会出现,就像这次的Windows Explorer.exe进程问题一样,但是,我问大家一个问题,你的系统上面为什么会连续去启动Explorer.exe呢?

我和同事们的一些想法:

1.你的键盘Win键和E键被卡住了,但

 a,两个按键同时被卡住的可能真的是太小了。

类似的,还有键盘坏了,睡觉的时候无意的按到了,换个键盘,重启一下就可以搞定。

2. 黑客、木马攻击?

正如Lee所说,如果一个黑客可以帮你启动Explorer.exe,那么他可以作更简单的事情去攻击。

3. 自己按?

但是,你为什么要自己把自己的机器耗尽资源呢?

所以,大家自己想想,这个被外界媒体忽悠的Soooooooooooooooooooooooooooooooooooooooo“致命”的问题,虽然是代码的一个Issue,但是在现实世界中的没有太大的价值。

我们报每个Bug之前,都会去想,这个Bug的价值在哪里?

而,思考是在必须作的一件功课,希望大家也多多思考。

忽悠,是现在很流行的,你今天被忽悠了没?

Windows讨厌的"SPACE" Key rule

问大家一个问题,(不要自己动手实验,用你的第一直觉回答),

如果让你完全用键盘去操作一个Windows的UI,

什么键是负责 UI上面元素(比如Button, CheckBox, RadioButton)的选择?

什么键是负责 这个选中的元素的 点击动作?

我的答案

TAB键, Enter键,

但是,这个答案却是错误的,

Windows里面有一个讨厌的“SPACE” key rule,

那就是,当你遇到CheckBox控件的时候,即使这个控件已经获得了焦点,你还得必须通过Space(空格键)才能选中它。

见我的一封Email:

...... 

IE:

Tools->Internet Options->Security,

OE:

Click Microsoft Communities->Click Yes on the pop up notification->Newsgroup Subscriptions

 

On these pages, the checkbox and buttons behavior are same as XXXXX.

 

And on this Web page:

http://msdn2.microsoft.com/en-us/library/ms670553.aspx

seems the SPACE key is the only key to fire action on the check box.

LVS_EX_CHECKBOXES 

Version 4.70. Enables check boxes for items in a list-view control. When set to this style, the control creates and sets a state image list with two images using DrawFrameControl. State image 1 is the unchecked box, and state image 2 is the checked box. Setting the state image to zero removes the check box.

Version 6.00 Check boxes are visible and functional with all list view modes except the tile view mode introduced in ComCtl32.dll version 6. Clicking a checkbox in tile view mode only selects the item; the state does not change.

You can obtain the state of the check box for a given item with ListView_GetCheckState. To set the check state, use ListView_SetCheckState. If this style is set, the list-view control automatically toggles the check state when the user clicks the check box or presses the space bar.

 

But XXXX, for me, I dont like this design, because the End User has to know, when you use keyboard to control UI, you must use SPACE key to select checkbox, even if the checkbox has the focus,

And Im the person who just know this SPACE Key ruleJ

 

更多内容 下一页 »