赞助广告

 

年份

最新评论

评论 RSS

解决MonoGame 3.6 Relase VS2017无法新建项目的BUG

clock 三月 20, 2017 21:58 by author alex
可能MonoGame团队发布3.6的时候比较仓促,安装好官方下载的安装包:http://www.monogame.net/releases/v3.6/MonoGameSetup.exe 最新版的VS2017新建UWP版项目会报错. 解决办法:找到C:\Users\【当前用户】\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\MonoGame 下载:WindowsUniversal10.zip (43.45 kb) 替换掉  

最实用的Windows Phone(windows 10 mobile) 注册表修改大全

clock 八月 26, 2016 17:12 by author alex
打开禁止锁屏功能 【windows phone 8】HKLM\Software\Microsoft\Settings\Lock  DisableNever  0   默认是1      下面有空在翻译: 原文地址:http://winphonehub.org/tips-on-windows-phone-8-8-1-10-registry-hacks/   ALL VALUES BELOW ARE DEFAULT VALUES !!!! You can change them to your needs. :P all in HKEY_LOCAL_MACHINE SOFTWAREOEMVolumeLimit EnableVolumeLimit 1 VolumeLimit 19 SOFTWAREMicrosoftFMRadioOEM NotPresent 1 SOFTWAREMicrosoftSettingsLock DisableNever 1 SOFTWAREMicrosoftSettingsVolume Key 2 Screen 2 Mute 7 Volume 3328624230 MaxSystemUIVolume 30 MaxInCallUIVolume 10 MaxdBAtten 45 MinInCallVolume 4369 SOFTWAREMicrosoftSecurityManager DeveloperUnlockState 1 ADD MORE THAN 10 UNSIGNED APPS (Default  65539) 1 2 [HKEY_LOCAL_MACHINESoftwareMicrosoftDeviceRegInstall] “MaxUnsignedApp”=dword:265539 ; Allow max number of unsignd apps Enable Wifi 11n 1 2 [HKEY_LOCAL_MACHINECommBCMSDDHD1Parms] “11nModeDisable”=dword:0 Caller ID issue fix 1 2 [HKEY_CURRENT_USERControlPanelPhone] “CallIDMatch”=dword:7 Live ID Activation Code (Usefull on HD2 to bypass boring serial number step) 1 2 [HKEY_LOCAL_MACHINESoftwareMicrosoftGwpCPC] “ActivationCode”=”R****-H****-I****-*7***-**8**” Developer Unlock State 1 2 [HKEY_LOCAL_MACHINECommSecurityLVMod] “DeveloperUnlockState”=dword:1 Unlock Hidden option in ease of access settings 1 2 3 4 5 [HKEY_LOCAL_MACHINESystemAccessibility] “CompactMode”=dword:0 “TTY”=dword:1 “telecoil_UI”=dword:1 “telecoil”=dword:1 Set AutoData 1 2 3 4 5 [HKEY_LOCAL_MACHINESystemAutoDataConfig] “RunADC”=dword:1 “ConfigurationStatus”=dword:0 “Attempt”=dword:0 “MaxAttemptsAllowed”=dword:3 Show 3G Toogle 1 2 [HKEY_LOCAL_MACHINESoftwareMicrosoftConnectivityCellularCPL] “Show3GToggle”=dword:1 Add “never” option to Lockscreen screen time-out 1 2 [HKEY_LOCAL_MACHINEControlPanelLock] “DisableNever”=dword:0 Disable System Logs for best performance (usefull on HD2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [HKEY_LOCAL_MACHINESystemEventLogChannelApplication] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelSecurity] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelSystem] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-CellularLogPublisher-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-Dtpt-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-FacebookStatusEvent-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-Mtp-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-SharePoint-Notification-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-ShortMsgEtw-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-SNTransports-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-Commsync-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-SyncStatusEvent-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESYSTEMEventLogChannelMicrosoft-WindowsMobile-TelShell-ShellHistoryChannel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-UnifiedStorePublisher-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-RilDrvLogChannel-Channel] “DefaultEnable”=dword:00000000 [HKEY_LOCAL_MACHINESystemEventLogChannelMicrosoft-WindowsMobile-ZTraceChannel] “DefaultEnable”=dword:00000000 Cleartype settings 1 2 3 4 5 6 [HKEY_LOCAL_MACHINESystemGDIClearTypeSettings409] “ForceOff”=dword:1 “Enabled”=dword:0 “Quality”=dword:0 [HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet Settings409] “ClearTypeText”=dword:1 System & Home Background color to grey (replace dark theme background color) 1 2 3 [HKEY_LOCAL_MACHINEControlPanelThemes1] “PageBackgroundColor”=”#FF818181” “SysTrayBackgroundColor”=”#FF818181” keypad,keyboard background & menu color black (Restart needed to apply) 1 2 [HKEY_LOCAL_MACHINEControlPanelThemes1] “ChromeColor” value=”#FF000000″ Famous on WM6 glyph cache entry 1 2 [HKEY_LOCAL_MACHINESYSTEMGDIGLYPHCACHE409] “limit”=dword:4000 Notification & sound volume 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [HKEY_CURRENT_USERControlPanelNotificationsVibrate] “Enabled”=dword:0 [HKEY_CURRENT_USERControlPanelNotificationsMessage] “Enabled”=dword:1 [HKEY_CURRENT_USERControlPanelNotificationsLed] “Enabled”=dword:1 “TimeOut”=dword:1e [HKEY_CURRENT_USERControlPanelNotificationsSounds] “Enabled”=dword:1 “Repeat”=dword:0 “Wave”=”Alarm1” [HKEY_CURRENT_USERControlPanelNotificationsDefault] “LedRefCount”=dword:0 [HKEY_LOCAL_MACHINEControlPanelVolume] [HKEY_CURRENT_USERControlPanelVolume] “Key”=dword:2 “Screen”=dword:2 “Mute”=dword:7 “Volume”=dword:C666C666 “MaxSystemUIVolume”=dword:1E “MaxInCallUIVolume”=dword:A “MaxdBAtten”=dword:2D “MinInCallVolume”=dword:1111 Unlock Hidden option in ease of access settings 1 2 3 4 5 [HKEY_LOCAL_MACHINESystemAccessibility] “CompactMode”=dword:0 “TTY”=dword:1 “telecoil_UI”=dword:1 “telecoil”=dword:1 Change default IE search engine BING 1 2 3 4 [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopes] “DefaultScope”=”Bing” [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopesBing] “URL”=”http://m.bing.com/search/search.aspx?mid=8015&LC=en-us” GOOGLE 1 2 3 4 [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopes] “DefaultScope”=”Google” [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopesGoogle] “URL”=”http://www.google.com/m?hl=en&gl=us&client=ms-hms-tmobile-us&q={searchTerms}” YAHOO 1 2 3 4 [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopes] “DefaultScope”=”Yahoo” [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSearchScopesYahoo] “URL”=”http://de.search.yahoo.com/search?p={searchTerms}” Add url to IE new Tabs 1 2 [HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerAboutURLs] “tabs”=”http://www.albertopasca.it” ACCENT COLOR NAMES 1 2 3 4 5 6 7 8 9 10 11 12 13 HKEY_LOCAL_MACHINEControlPanelThemesAccentsDisp layName409] “0”=”Green” ; “1”=”Red” ; “2”=”Blue” ; “3”=”Orange” ; “5”=”Pink” ; “6”=”Brown” ; “7”=”Lime” ; “8”=”Teal” ; “9”=”Purple” ; “10”=”Magenta” ; “11” = “Light blue”; “12” = “Dark blue”; LIGHT 1 2 3 4 5 6 7 8 9 10 11 [HKEY_LOCAL_MACHINEControlPanelThemesAccents] “0”=dword:FF339933 “1”=dword:FFE51400 “2”=dword:FF1BA1E2 “3”=dword:FFF09609 “5”=dword:FFE671B8 “6”=dword:FFA05000 “7”=dword:FF8CBF26 “8”=dword:FF00ABA9 “9”=dword:FFA200FF “10”=dword:FFFF0097 DARK 1 2 3 4 5 6 7 8 9 10 11 [HKEY_LOCAL_MACHINEControlPanelThemes1Accents] “0”=dword:FF339933 “1”=dword:FFE51400 “2”=dword:FF1BA1E2 “3”=dword:FFF09609 “5”=dword:FFE671B8 “6”=dword:FFA05000 “7”=dword:FF8CBF26 “8”=dword:FF00ABA9 “9”=dword:FFA200FF “10”=dword:FFFF0097 ADD MORE COLORS 1 2 3 4 5 [HKEY_LOCAL_MACHINEControlPanelThemesAccentsDisplayName409] “13”=”Grey” “14”=”Light grey” “15”=”Black” “16”=”White” 1 2 3 4 5 [HKEY_LOCAL_MACHINEControlPanelThemesAccentsDisplayNamec0a] “13”=”Gris” “14”=”Gris claro” “15”=”Negro” “16”=”Blanco” 1 2 3 4 5 [HKEY_LOCAL_MACHINEControlPanelThemesAccents] “13”=dword:FF808080 “14”=dword:FFC0C0C0 “15”=dword:FF000000 “16”=dword:FFFFFFFF 1 2 3 4 5 [HKEY_LOCAL_MACHINEControlPanelThemes1Accents] “13”=dword:FF808080 “14”=dword:FFC0C0C0 “15”=dword:FF000000 “16”=dword:FFFFFFFF VARIOUS 1 2 [HKEY_LOCAL_MACHINESoftwareQualcommQosLib] “Enabled”=dword:0 1 2 [HKEY_LOCAL_MACHINESoftwareMicrosoftCameraSettings] “ScreenOrientation”=dword:0 1 2 [HKEY_LOCAL_MACHINESoftwareQualcommRILOptions] “ExtendedSSInfo”=dword:0 1 2 3 4 5 6 [HKEY_LOCAL_MACHINESoftwareMicrosoftConnectivityCellularCPL] “MakeDataConnectionExclusive”=dword:1 “Show3GToggle”=dword:1 “AutoNetwork”=dword:1 “Roaming”=dword:0 “CellDataOn”=dword:1 1 2 3 [HKEY_CURRENT_USERControlPanelPhoneNetSelMode] “AlwaysShowGSMOperationModes”=dword:1 “Option”=dword:0 1 2 [HKEY_LOCAL_MACHINESoftwareHTCProximity] “ProximityDetectStatus”=dword:0 NEVER LOCK SCREEN 1 2     [HKEY_LOCAL_MACHINEControlPanelLock] “DisableNever”=dword:0

UWP项目提示项目证书过期解决办法

clock 八月 22, 2016 20:58 by author alex
一个UWP项目半年没更新了,今天打开突然提示证书过期无法生成Package。 解决办法:续订证书 在“解决方案资源管理器”中,打开 .appxmanifest 文件的快捷菜单,选择“打开方式”,然后选择“应用程序清单设计器”。 在“应用程序清单设计器”中,选择“打包”选项卡,然后选择“选择证书”按钮。 在“选择证书”对话框中,展开“配置证书”列表,然后选择“创建测试证书”。 在“创建测试证书”对话框中,单击“确定”按钮。

抓取Windows应用商店下载的源链接

clock 八月 20, 2016 23:23 by author alex
关于如何提取应用商店,下载应用时的源链接这问题,已经有许多大神发过教程了。 本着一本书,未必所有人看得懂的道理,我也发个简易抓包的图文教程。 如有雷同之处,请各位多加包涵啊~ ***手机与电脑必须连接至同一个WiFi网络哦*** 所抓取的应用商店源链接请即时下载。有效时间是30分钟左右而已哦 01.下载以及安装 Fiddler : 链接:http://pan.baidu.com/s/1o8eZGG6 密码:crfg A:打开Fiddler,按照下图红框里的设置。如图 02.下载命令提示符捷径至桌面后打开。(此处对于懂如何打开命令提示符者可略过)如图 A:输入 ipconfig 后回车。上拉至见到红框的内容,把ip地址192.168.1.xxx 抄写下来。 下载附件: 03.去手机里的WiFi设置,按照下图的步骤设置,地址是填入步骤02的ip地址。如图 04.此时在手机商店里搜索智机网,Fiddler界面会出现滚动数据。如图 A:红框显示的是手机打开商店时所显示的数据。右图是手机屏幕截图。 05.以下是在商店点击下载智机网客户端时出现的界面。如图 A:此时会见到Fiddler数据行出现下载的箭头图标。 06.在Fiddler数据行出现下载的箭头图标,右键 -> 复制 -> 纯粹网址。如图 07.打开迅雷,在新建任务里黏贴网址。选择手动下载。如图 A:有些旧的应用会无法显示正常文件名或后缀。而有些在这步骤是正常。 B:文件大小是MB那不会错了。如果是KB那链接可能是错了哦。 08.点击开始下载,文件名已自动获得。如图 A:迅雷正在下载的截图。 B:资源管理器的截图。文件正在下载中。 C:资源管理器的截图。文件已完成下载。智机网客户端下面的文件是微信。

Windows开发者后台无法填Paypal账号收款的解决办法

clock 八月 15, 2016 14:30 by author alex
1.用IE 2.清理cookies以及缓存 3.用IE的InPrivate浏览

Windows 10 RS1 ISO下载地址

clock 八月 13, 2016 14:48 by author alex
微软于当地时间8月2日在MSDN、VLSC等渠道如期放出了周年更新的ISO 14393.0,Windows Update也同步推送了14393.10。 1L:MSDN下载中心 ISO(14393.0) https://msdn.microsoft.com/en-us/subscriptions/downloads/ https://www.microsoft.com/zh-cn/software-download/windows10ISO/ https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced 以上均是官方链接,同版本SHA1一致 2L:批量许可服务中心 ISO(14393.0) https://www.microsoft.com/licensing/servicecenter/default.aspx 3L:14393.0 ESD(Insider推送版本,可以通过WU升级到14393.10) https://insider.windows.com/ 4L:Windows 10 其他BUILD下载 家庭和专业合集版(Home+Pro)下载链接:https://pan.baidu.com/s/1dFoKUOx 密码:nby9 教育版(Education)下载链接:http://pan.baidu.com/s/1i4CJbpz 密码:n1pi 企业版(Enterprise)下载链接:http://pan.baidu.com/s/1nv5z6VB 密码:4p78 中国大合集版(Home+Pro+China)下载链接:http://pan.baidu.com/s/1c2iHsPi 密码:u5jz 多国语言ISO下载链接:http://pan.baidu.com/s/1c1JEZ5Y 密码:9qkw 嵌入式设备(IOT)资源下载:http://pan.baidu.com/s/1c2MDcR2 密码: nj3h LTSB 2016下载链接: http://pan.baidu.com/s/1hsflNJA 密码: rymn Windows 10 周年更新正式版32位二合一镜像(含Home、Pro) 文件名:cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x86_dvd_9060050.iso SHA1:EAF7394A25A69E94AD2D3D1D9FBC0007D1DFF720 文件大小:3.05GB cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x86_dvd_9060050.iso (3.05 GB) Windows 10 周年更新正式版64位二合一镜像(含Home、Pro) 文件名:cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9056935.iso SHA1:A2DDAA7BE3BB73FD87C29D6EF8E1EDF4C764DCD9 文件大小:4.05GB cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9056935.iso (4.05 GB) Windows 10 周年更新正式版32位企业版镜像 文件名:cn_windows_10_enterprise_version_1607_updated_jul_2016_x86_dvd_9059597.iso SHA1:C13CA613DD308441F554935912B426A7424AE052 文件大小:2.89GB cn_windows_10_enterprise_version_1607_updated_jul_2016_x86_dvd_9059597.iso (2.89 GB) Windows 10 周年更新正式版64位企业版镜像 文件名:cn_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9057083.iso SHA1:1D287AB1F79BCA7166A49ACB27A81B43BE7D75DD 文件大小:3.86GB cn_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9057083.iso (3.86 GB) Windows 10 周年更新正式版32位教育版镜像 文件名:cn_windows_10_education_version_1607_updated_jul_2016_x86_dvd_9056381.iso SHA1:095473BE76792E63A9E9F3EBA87E8E287376AB65 文件大小:2.89GB cn_windows_10_education_version_1607_updated_jul_2016_x86_dvd_9056381.iso (2.89 GB) Windows 10 周年更新正式版64位教育版镜像 文件名:cn_windows_10_education_version_1607_updated_jul_2016_x64_dvd_9056220.iso SHA1:F89AAAE227D7B7D9644E70AEBBD1DD43DC16632A 文件大小:3.86G cn_windows_10_education_version_1607_updated_jul_2016_x64_dvd_9056220.iso (3.87 GB) Windows 10 Anniversary Update RTM 32-Bit 2in1 ISO (include Home&Pro) 文件名:en_windows_10_multiple_editions_version_1607_updated_jul_2016_x86_dvd_9053863.iso SHA1:5A4D2C953D884578A6ADB448BEE5753B80EC1CFA 文件大小:3.15GB en_windows_10_multiple_editions_version_1607_updated_jul_2016_x86_dvd_9053863.iso (3.15 GB) Windows 10 Anniversary Update RTM 64-Bit 2in1 ISO (include Home&Pro) 文件名:en_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9058187.iso SHA1:99FD8082A609997AE97A514DCA22BECF20420891 文件大小:4.08GB en_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9058187.iso (4.08 GB) Windows 10 Anniversary Update RTM 32-Bit Enterprise Edition ISO 文件名:en_windows_10_enterprise_version_1607_updated_jul_2016_x86_dvd_9060097.iso SHA1:89E415FEC5F4ED23D96CB543D3CEA838F57A10A0 文件大小:2.72GB en_windows_10_enterprise_version_1607_updated_jul_2016_x86_dvd_9060097.iso (2.72 GB) Windows 10 Anniversary Update RTM 64-Bit Enterprise Edition ISO 文件名:en_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9054264.iso SHA1:F9FFEA3A40BF39CCDE105BB064E153343560D73E 文件大小:3.64GB en_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9054264.iso (3.64 GB) Windows 10 Anniversary Update RTM 32-Bit Education Edition ISO 文件名:en_windows_10_education_version_1607_updated_jul_2016_x86_dvd_9055803.iso SHA1:816153EE450FF07600EBC4266D60687FD0939AEA 文件大小:2.72GB en_windows_10_education_version_1607_updated_jul_2016_x86_dvd_9055803.iso (2.72 GB) Windows 10 Anniversary Update RTM 64-Bit Education Edition ISO 文件名:en_windows_10_education_version_1607_updated_jul_2016_x64_dvd_9055880.iso SHA1:EEE7C0E49C71533883B205DCAE0C82C75CD4B4AD 文件大小:3.64GB en_windows_10_education_version_1607_updated_jul_2016_x64_dvd_9055880.iso (3.64 GB) 8月5日新增:嵌入式设备版本下载(仅英文版) Windows 10 IoT Core for DragonBoard, Version 1607 文件名:en_windows_10_iot_core_for_dragonboard_version_1607_updated_jul_2016_arm_dvd_9058889.iso SHA1:390FB736EA7899D5B6B1F47E71659A5BCEA35C48 文件大小:653.97MB en_windows_10_iot_core_for_dragonboard_version_1607_updated_jul_2016_arm_dvd_9058889.iso (653.97 MB) Windows 10 IoT Core for MinnowBoard MAX, Version 1607 文件名:en_windows_10_iot_core_for_minnowboard_max_version_1607_updated_jul_2016_x86_dvd_9055342.iso SHA1:DEE908F674E7679B01939311BD6CC9878B976DB8 文件大小:657.4MB en_windows_10_iot_core_for_minnowboard_max_version_1607_updated_jul_2016_x86_dvd_9055342.iso (657.4 MB) Windows 10 IoT Core for Raspberry Pi, Version 1607 文件名:en_windows_10_iot_core_for_raspberry_pi_version_1607_updated_jul_2016_arm_dvd_9055111.iso SHA1:5340715E8DFC11241AAB0ACAFAD7F98489402760 文件大小:651.84MB en_windows_10_iot_core_for_raspberry_pi_version_1607_updated_jul_2016_arm_dvd_9055111.iso (651.84 MB) 8月12日更新:长期服务分支版 2016(LTSB 2016)下载: Windows 10 周年更新正式版32位长期服务分支版镜像 文件名:cn_windows_10_enterprise_2016_ltsb_x86_dvd_9057089.iso SHA1:0422052F25C9C8DF983F3B287F725860AAB907CF 文件大小:2.62GB cn_windows_10_enterprise_2016_ltsb_x86_dvd_9057089.iso (2.62 GB) Windows 10 周年更新正式版64位长期服务分支版镜像 文件名:cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso SHA1:9E405E950890D2A196565BCA35E152F9CFAD296D 文件大小:3.55GB cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso (3.56 GB) Windows 10 週年更新正式版32位元長期服務分支版鏡像 文件名: ct_windows_10_enterprise_2016_ltsb_x64_dvd_9057374.iso SHA1: 1CDE8B641C107FCF23FDF54C9B243DC152898800 文件大小:2.55GB (ED2K链接暂缺) Windows 10 週年更新正式版64位元長期服務分支版鏡像 文件名: ct_windows_10_enterprise_2016_ltsb_x86_dvd_9057437.iso SHA1: 4801545465C9C8206C804CB8FD540EBB5F64586D 文件大小:3.45GB (ED2K链接暂缺) Windows 10 Anniversary Update RTM 32-Bit Long-Time Service Branch Edition ISO 文件名: en_windows_10_enterprise_2016_ltsb_x86_dvd_9060010.iso SHA1: 45E72D02FF17125C699558719EB946D8E140C9CC 文件大小:2.46GB (ED2K链接暂缺) Windows 10 Anniversary Update RTM 64-Bit Long-Time Service Branch Edition ISO 文件名: en_windows_10_enterprise_2016_ltsb_x64_dvd_9059483.iso SHA1: 031ED6ACDC47B8F582C781B039F501D83997A1CF 文件大小:3.33GB (ED2K链接暂缺) Windows 10 Anniversary Update RTM 32-Bit Long-Time Service Branch Edition ISO (N Edition) 文件名: en_windows_10_enterprise_2016_ltsb_n_x86_dvd_9058202.iso SHA1: 3F8F9811A7E72ADF88215060E38BA81340DFB0C0 文件大小:2.38GB (ED2K链接暂缺) Windows 10 Anniversary Update RTM 64-Bit Long-Time Service Branch Edition ISO (N Edition) 文件名: en_windows_10_enterprise_2016_ltsb_n_x64_dvd_9057894.iso SHA1: B5D4911BD53EC5029781ADE0937DAD43C4ED90F6 文件大小:3.22GB

UWP判断设备类型

clock 八月 11, 2016 15:33 by author alex
if (Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile") if (Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Desktop")

UWP固定窗口尺寸的解决办法

clock 八月 9, 2016 14:21 by author alex
第一步:App.xaml.cs的OnLaunched方法中加入 Window.Current.Activate();执行之前 Size desiredSize = new Size { Width = 800, Height = 480 };            ApplicationView.PreferredLaunchViewSize = desiredSize;            ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize; ApplicationView.GetForCurrentView().SetPreferredMinSize(desiredSize); 第二部:在Page.xaml.cs的SizeChanged事件中加入 private void GamePage_SizeChanged(object sender, SizeChangedEventArgs e)        {            Size desiredSize = new Size { Width = 800, Height = 480 };            ApplicationView.GetForCurrentView().TryResizeView(desiredSize);           }

UWP 应用获取各类系统、用户信息 - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息

clock 八月 1, 2016 00:54 by author alex
应用开发中,开发者时常需要获取一些系统、用户信息用于数据统计遥测、问题反馈、用户识别等功能。本文旨在介绍在 Windows UWP 应用中获取一些常用系统、用户信息的方法。示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开。本篇为系列第二篇,介绍如何获取商店授权信息、零售演示模式信息、广告ID、EAS 设备信息、硬件识别信息、硬件设备信息以及移动网络信息。 商店授权信息 Windows.ApplicationModel.Store 命名空间提供了与 Windows Store 商店交互的类型和成员。我们使用其中的 CurrentApp 类获取当前应用的授权信息。 需要注意的是,如果你还没有 Windows Store 开发者账号,或者正在进行本地调试,需要使用 CurrentAppSimulator 而不是 CurrentApp 类。顾名思义,CurrentAppSimulator 正是 CurrentApp 的模拟类,代替了过去 WP8 上的 Mock IAP Lib 用于模拟正式的商店交互。CurrentAppSimulator 的成员和用法与 CurrentApp 完全一致。推荐做法是使用编译条件,Debug 时使用 CurrentAppSimulator,而 Release 时使用 CurrentApp。 有关 CurrentAppSimulator 的详情,可以参考 MSDN 文档。 授权信息 CurrentApp 类包含三个属性: AppId 获取 Windows Store 商店为通过认证的应用生成的 GUID。 LicenseInformation 获取当前应用的授权元数据。 LinkUri 获取当前应用商店页面的 URI。 其中的 LicenseInformation 属性是判断当前应用整体授权情况(不包含应用内购产品的授权信息)的关键。该属性的工作不要求网络连接,因此在设备离线状态下,应用依然可以通过此 API 正确检测授权情况。LicenseInformation 属性 的类型为 LicenseInformation。LicenseInformation 类型包含四项只读属性: ExpirationDate 获取相对于系统时钟的授权过期时间。 IsActive 指示当前授权状态是否有效。 IsTrial 指示当前授权是否为试用授权。 ProductLicenses 获取与当前应用关联的应用内商品授权列表。 我们可以通过前三项属性控制应用的试用、购买授权。对于试用版应用,试用期间 IsTrial 属性会返回 true, IsActive 属性也会返回 true。超过试用期,IsActive 会返回 false。从试用版升级为完整版,则IsTrial 属性会返回 false,IsActive 属性会返回 true。 市场活动 ID 除以上成员外,CurrentApp 类还提供了一个方法 GetAppPurchaseCampaignIdAsync。该方法用于返回市场活动 ID。这是 Windows 10 新增的一项特性。市场活动 ID(campaign ID) 本质上是一个可自定义的参数,允许你据此获得应用安装的来源渠道,从而进一步开展应用推广、用户活动、分渠道数据分析等工作。假设你要开展影响活动,从微博安装应用的用户可获赠某项应用内产品,那么在微博发布应用的商店下载链接时,就需要附加上市场活动 ID。当用户通过此携带市场活动 ID 的链接安装你的应用并满足转化条件时,用户启动应用后,应用可以通过 GetAppPurchaseCampaignIdAsync 获取到你在推广链接中预置的市场活动 ID,进而为该用户发放赠品。从用户点击携带市场活动 ID 的链接到完成应用安装,就实现了一次转化。 创建市场活动 ID 如果你希望发布应用的商店页面链接,使用户通过浏览器导航跳转进入应用的商店网页进行安装,那么需要使用 HTTP 格式的商店链接,并附加市场活动 ID 参数。例如: 图中前半部分为 Skype 的商店页面链接,在此链接后附加了 ?cid=facebook_campaign 表示这是来自 Facebook 页面的推广链接。 而如果你希望在其它应用中通过附加市场活动 ID 的链接直接跳转到 Windows Store 商店应用推广你的应用,则需要使用协议格式的 URL。同样以 Skype 举例,在另一个应用中,使用代码方式跳转到链接: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=facebook_campaign 市场活动 ID 的转化条件 你可以在 Windows 开发人员中心面板中的“通道和转换报告”栏目查看市场活动 ID 的转化数据。需要注意的是,对于该栏目的数据统计,以及调用 GetAppPurchaseCampaignIdAsync 以编程方式获得市场活动 ID 的满足条件是不一样的。 要被“通道和转换报告”统计认定为有效转化,需要满足以下条件: 具有已识别的微软帐户的用户点击了自定义市场活动 ID 的应用 URL,然后重定向到该应用的 Windows 应用商店页面。 该用户在完成上一步动作后 24 小时内安装该应用。即使用户点击了自定义市场活动 ID 的 Windows 应用商店 URL,但在另一台登录相同微软账户计算机或设备上安装该应用,这仍然认定为有效转化。 要被编程方式获取市场活动 ID 认定为有效转化,需要满足以下条件: 具有已识别的 Microsoft 帐户的用户点击了自定义市场活动 ID 的应用 URL,然后重定向到该应用的 Windows 应用商店页面。 用户在点击 URL 后跳转到的 Windows 应用商店页面立即安装该应用。如果用户离开页面,然后在 24 小时内返回到该页面(无论在同一台计算机或设备上还是不同的计算机或设备上)并安装应用,将认定为“通道和转换报告”的有效转化,但如果你以编程方式获取市场活动 ID,则这不会认定为有效转化。 有关市场活动 ID 的更多详情,可以参考 MSDN 文档 Create a custom app promotion campaign,或中文版《创建自定义应用促销活动》。不过个人觉得中文版的翻译不是很顺畅,推荐阅读英文版。之后我也会另写一篇博客补上市场活动 ID 的更多相关内容。 零售演示模式信息 Windows 10 包含一个隐藏的“零售演示模式”。启用该模式时 Windows 会删除系统当前登录的账户信息,自动开启一个演示用账户。如果你的应用被选为零售 Windows 设备上的预装应用,那么可能需要获取与系统零售演示模式相关的信息。 Windows.System.Profile 命名空间下的 RetailInfo 正是提供次功能的一个工具类。 RetailInfo 类只包含一个方法 IsDemoModeEnabled 和一个属性 Properties。 'IsDemoModeEnabled' 用于检测当前应用是否运行于零售演示模式。如果是,返回 true,否则将返回 false。假设你的应用是 Windows 设备的预装应用,你希望顾客在商店体验 Windows 系统和你的应用时展示一些不同的内容,就可以通过此方法判断当前是否运行于演示模式,如果是则展示用于演示的内容,比如产品介绍视频。 只读属性 Properties 返回一系列用于演示模式应用的属性设置。当应用不处于演示模式时,该属性不返回任何内容。类似于上一篇文章中提到的 KnownUserProperties,RetailInfo.Properties 的键名由 KnownRetailInfoProperties类定义,该类包含以下只读属性: 属性 访问类型 说明 BatteryLifeDescription 只读 获取电池续航信息属性值的键名。 DisplayDescription 只读 获取显示设备说明信息属性值的键名。 DisplayModelName 只读 获取显示设备型号信息属性值的键名。 FormFactor 只读 获取设备规格信息属性值的键名。 FrontCameraDescription 只读 获取前置摄像头信息属性值的键名。 GraphicsDescription 只读 获取图形处理器信息属性值的键名。 HasNfc 只读 获取是否搭载 NFC 设备信息属性值的键名。 HasOpticalDrive 只读 获取是否搭载光驱信息属性值的键名。 HasSdSlot 只读 获取是否搭载 SD 卡插槽信息属性值的键名。 IsFeatured 只读 获取是否为推荐产品信息属性值的键名。 IsOfficeInstalled 只读 获取是否安装 Office 信息属性值的键名。 ManufacturerName 只读 获取制造商名称属性值的键名。 Memory 只读 获取内存信息属性值的键名。 ModelName 只读 获取设备型号名属性值的键名。 Price 只读 获取设备价格信息属性值的键名。 ProcessorDescription 只读 获取处理器信息属性值的键名。 RearCameraDescription 只读 获取背部摄像头信息属性值的键名。 RetailAccessCode 只读 获取零售访问代码信息属性值的键名。 ScreenSize 只读 获取屏幕尺寸信息属性值的键名。 StorageDescription 只读 获取储存设备说明信息属性值的键名。 Weight 只读 获取设备重量信息属性值的键名。 WindowsEdition 只读 获取搭载 Windows 版本信息属性值的键名。 广告 ID Windows.System.UserProfile.AdvertisingManager 类提供了一个属性 AdvertisingId,该属性返回一个字符串类型的值,即广告 ID。广告 ID 也是开发者实现应用数据统计的重要参考项之一。不过使用 AdvertisingId 中有几点问题需要注意: 广告 ID 是每用户、每设备唯一的 广告 ID 可以被用户通过系统设置关闭 广告 ID 不具有持久性,在不同情况下会发生改变 广告 ID 在儿童账户中是关闭的 有关广告 ID 的更多介绍,以及更多获取设备唯一 ID 实现数据统计的方案介绍,请参阅之前的文章 《Windows Store 应用获得设备 ID 的几种方案》。 EAS 设备信息 Windows.Security.ExchangeActiveSyncProvisioning 命名空间下的 EasClientDeviceInformation 类提供了获取 EAS 设备信息的能力。所谓的 EAS 即 Exchange ActiveSync。EAS 是一套使移动设备与 Exchange 服务同步数据的协议。EasClientDeviceInformation 往往也是开发者获取系统信息的一个重要渠道,例如,使用 Github 上的示例代码在一台搭载 Windows 10 Mobile 的名为 "Steve's Phone" 的 Lumia 1520 上会得到如下 EAS 信息输出: EAS Client Device Information Id: 3d776048-51ef-da40-d1ad-3ce62a9b8ca4 FriendlyName: Steve's Phone OperatingSystem: WindowsPhone SystemFirmwareVersion: 02540.00019.15236.45005 SystemHardwareVersion: 5.3.0. SystemManufacturer: NOKIA SystemProductName: RM-939_apac_prc_200 SystemSku: NOKIA RM-939_apac_prc_200 而在一台搭载了技嘉 B85 主板的 Windows 10 台式机上运行则会得到以下 EAS 输出: Id: 3f69ad8d-1362-3f96-507c-453ff2efbe7c FriendlyName: Creeper's PC OperatingSystem: WINDOWS SystemFirmwareVersion: SystemHardwareVersion: SystemManufacturer: Gigabyte Technology Co., Ltd. SystemProductName: B85M-D3V SystemSku: To be filled by O.E.M. EasClientDeviceInformation 的使用方法也很简单: var eascdi = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation(); EasClientDeviceInformation 包含了以下只读属性提供 EAS 相关的系统、设备信息: FriendlyName 返回设备名称。 Id 返回设备 ID。 OperatingSystem 返回设备操作系统。 SystemFirmwareVersion 返回系统固件版本号。 SystemHardwareVersion 返回硬件版本号。 SystemManufacturer 返回制造商名称。 SystemProductName 返回设备型号名。 SystemSku 返回 SKU。此项仅限 Windows Store 应用使用。其内容从注册表获取,如果注册表不可访问,则该项返回空字符串。当为空时,建议以设备型号作为 SKU 值,否则应当适用制造商名称和设备型号名构造 SKU 值。 如果你打算使用 EAS ID 做唯一设备是别,需要注意 EAS ID 是每用户、每设备、每应用唯一的,这意味着不同用户、不同设备、不同应用获取到的 EAS ID 都是不一样的。有关设备 ID 的更多内容,可参阅我之前编写的文章《Windows Store 应用获得设备 ID 的几种方案》。 硬件识别信息 如果你打算在你的应用中实现每设备逻辑,那么就会用到 Windows.System.Profile 命名空间下定义的 HardwareIdentification 类。该类只包含一个方法: GetPackageSpecificToken。该方法用于返回当前应用在当前设备的硬件识别 ID(简称为 ASHWID)。方法的返回值类型为 HardwareToken。 HardwareToken 类型包含三个只读属性: Certificate 获取用于校验硬件识别 ID 的证书。 Id 获取硬件识别 ID。 Signature 获取用于校验硬件识别 ID 的数字签名。 要获得 ASHWID 的值,我们可以使用如下方法: string strDeviceUniqueId = ""; string strSignature = ""; string strCertificate = ""; var token = HardwareIdentification.GetPackageSpecificToken(null); IBuffer hardwareId = token.Id; IBuffer signature = token.Signature; IBuffer certificate = token.Certificate; var byteArray = new byte[hardwareId.Length]; var dataReader = DataReader.FromBuffer(hardwareId); dataReader.ReadBytes(byteArray); foreach (byte b in byteArray) { string strTemp = b.ToString(); if (1 == strTemp.Length) { strTemp = "00" + strTemp; } else if (2 == strTemp.Length) { strTemp = "0" + strTemp; } strDeviceUniqueId += strTemp; } 需要注意的是,ASHWID 是用户间一致,每设备、每应用唯一的。也就是说同一用户在不同设备上使用同一应用获得的 ASHWID 取值不同;同一用户在相同设备上使用不同应用获得的 ASHWID 取值也不同。 有关 ASHWID 以及实现每设备应用逻辑的更多详情可以参阅我之前编写的文章《Windows Store 应用获得设备 ID 的几种方案》。 移动网络信息 在 Windows.Networking.NetworkOperators 命名空间中定义了很多移动网络相关 API。例如 MobileBroadbandAccount 类表示了移动宽带账户,'MobileBroadbandNetwork' 类表示移动宽带网络等。该命名空间下提供的所有功能特性属于微软合作伙伴 API。这意味着开发者需要从微软获得特定的私有权限才能在应用中调用这些 API 并正常工作。由于我不是手机制造商,也不是移动网络工作人员,无法拿到这些私有权限的授权,并且大部分开发者也拿不到,故在此不再赘述此命名空间相关 API,仅在此给出参考资料,有兴趣的朋友可以参阅: Mobile Broadband Overview Mobile broadband WinRT API overview List of mobile broadband Windows Runtime APIs Best practices for using Mobile Broadband Windows Runtime API UWP 应用获取各类系统、用户信息第二篇到此结束。后续随着对 UWP 各种 API 了解的深入,我会继续更新本系列文章和示例代码演示如何获取常用信息。

UWP 应用获取各类系统、用户信息 - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

clock 八月 1, 2016 00:53 by author alex
应用开发中,开发者时常需要获取一些系统、用户信息用于数据统计遥测、问题反馈、用户识别等功能。本文旨在介绍在 Windows UWP 应用中获取一些常用系统、用户信息的方法。示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开。本篇介绍获取设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息。 AnalyticsInfo Windows.System.Profile 命名空间下的 AnalyticsInfo 类负责提供用于设备分析的相关信息。通过此类,我们能够获得系统的具体版本号以及设备类型等信息。 通过 AnalyticsInfo 类中的 VersionInfo 属性我们可以获取当前应用运行设备的设备类型和操作系统具体版本。AnalyticsVersionInfo 类型的 VersionInfo 属性包含两个成员: DeviceFamily DeviceFamilyVersion DeviceFamily属性的返回值类型为字符串。其提供的设备类型信息极为重要,几乎在所有 UWP 开发中均会用到。通常我们都会根据此属性返回的设备类型信息配合实现应用的响应式设计。例如,返回 "Windows.Desktop" 时表示应用运行在桌面端 Windows 10 上,则应用呈现适合于鼠标键盘操作的 PC 端界面;返回 "Windows.Mobile" 时表示应用运行在移动端的 Windows 10 上,则应用应当呈现适合于触屏操作的移动端小屏界面。 DeviceFamilyVersion 属性的返回值类型也是字符串。其返回值指示了当前设备运行的 Windows 的具体版本号。不过直接获取此属性拿到的返回值是一个形如 "2814750460870692" 的 long 型数字。如果想要获取可读的 "major.minor.revision.build" 形式的版本号,需要先将此数值转化为十六进制,然后进一步转化为可读的版本号。   格式化版本号的 C# 代码: string sv = AnalyticsInfo.VersionInfo.DeviceFamilyVersion; ulong v = ulong.Parse(sv); ulong v1 = (v & 0xFFFF000000000000L) >> 48; ulong v2 = (v & 0x0000FFFF00000000L) >> 32; ulong v3 = (v & 0x00000000FFFF0000L) >> 16; ulong v4 = (v & 0x000000000000FFFFL); string version = $"{v1}.{v2}.{v3}.{v4}"; 运行示例代码会得以类似以下内容的输出: Device Analytics Info DeviceForm: Unknown DeviceFamily: Windows.Desktop DeviceFamilyVersion: 2814750460870692 Reconstructed OS Version: 10.0.10586.36 需要指出的是,如果你打算通过 DeviceFamilyVersion 进行数据统计、分析工作,那么在应用的客户端代码中不要将原始的 DeviceFamilyVersion 返回值格式化为可读形式。据微软官方人员在 MSDN 的解释,AnalyticsInfo.VersionInfo 旨在为遥测和日志记录提供一个不透明的版本号字符串值,最佳做法是将该原始值传回服务器,如果有必要,在服务器端进行格式化解析的工作。 另外,AnalyticsInfo 类中的 DeviceForm 属性具体作用不明,在 PC 和 Windows Mobile 设备中均返回 "Unknown"。MSDN 文档中仅将此属性描述为 "Gets the device form." 该项可能是指 "Form Factor",即指示二合一设备、一体机、桌面 PC、嵌入式设备等的“设备类型”。可参见 MSDN 文档 Form factors。 资源限定符 Windows.ApplicationModel.Resources.Core.ResourceContext 类封装了可能影响资源选定的资源限定符(qualifiers)。这些资源限定符影响了应用运行时所需资源的选定。查询资源限定符并做出适当匹配优化对于增进用户体验也有帮助。 要获得当前应用的资源限定符,我们需要调用 ResourceContext.GetForCurrentView() 方法获得当前应用视图的资源上下文,再访问其中的 QualifierValues 属性。QualifierValues 属性的类型为 IObservableMap<string,string>,可通过键名获得对应的限定符值。 以下为 MSDN 文档中列举的可能的资源限定符名称以及对应取值: 资源限定符 可能的取值 说明 Language 如 "en-us" 此限定符名称可以映射到表示语言的字符串值,例如,"en-us" 表示美国英语。 Contrast standard 此限定符名称可以映射到当前对比度设置值。 high black white Scale 80 此限定符名称可以映射到以百分比形式表示显示比例的值。 100 120 140 150 160 180 225 HomeRegion 如 "021" 此限定符名称可以映射到表示区域的字符串值,例如,"021" 表示北美。 TargetSize 如 "256" 此限定符名称可以映射到表示目标大小的字符串值,例如,"256"。 LayoutDirection LTR 此限定符名称可以映射到当前布局方向的值。 RTL TTBLTR TTBRTL Configuration 此限定符名称可以映射到表示配置的字符串值。 AlternateForm 此限定符名称可以映射到表示替换窗体的字符串值。 DXFeatureLevel DX9 此限定符名称可以映射到表示 DirectX 功能级别。 DX10 DX11 有关 ResourceContext 类的更多用法,可以参阅 MSDN 文档 ResourceContext 类型。 获取当前应用包信息 Windows.ApplicationModel.Package 类型负责提供应用包的信息。要获取当前应用的 Package 对象实例,可以通过 'Package.Current' 属性获取。获取当前应用的包对象之后,我们就可以进一步获得以下信息: DisplayName 获取包的显示名称。 InstalledDate 获取包安装或最近一次更新的时间。 InstalledLocation 获取包的安装位置。返回值为 StorageFolder 类型。 IsBundle 指示该包是否为 Bundle 集合包。 IsDevelopmentMode 指示该包是否以开发模式安装。 IsFramework 指示是否有其它包将该包声明为依赖项。 IsResourcePackage 指示该包是否为资源包。 Logo 获取该包 Logo 文件的位置。返回值为 Uri 类型。 PublisherDisplayName 获取包发布者显示名称。 InstallDate 获取应用包初次安装的时间。该属性在 Windows 10 上并未实现。过去也仅对 Windows Phone 8 有效。 除以上属性外,Package 类还提供了三个重要的属性:Id 、 Status 以及 Dependencies。 Id 属性为 PackageId 类型。该属性提供了当前包 Id 的各种信息,包括: Architecture 获取当前包的对应处理器架构。 FamilyName 获取包的 Family Name。如 "32b04fa8-6b7b-4ed9-8a9b-eade01a24207_hpzxbeh1zj56g " FullName 获取包的完整名称。如 "32b04fa8-6b7b-4ed9-8a9b-eade01a242071.0.0.0x86__hpzxbeh1zj56g" Name 获取包名。如 "32b04fa8-6b7b-4ed9-8a9b-eade01a24207" Publisher 获取包发布者。如 "CN=validvoid" PublisherId 获取包发布者 ID。 ResourceId 获取包的资源 ID。 Version 获取包版本。返回值为 PackageVersion 类型,可进一步格式化输出字符串。 Author 获取包作者。仅限 Windows Phone,在 Windows 10 上无效。 ProductId 获取包的 ProductID 属性值。仅限 Windows Phone,在 Windows 10 上无效。 Status 属性为 PackageStatus 类型。该类型提供了一个 VerifyisOK() 方法用于判断当前包的状态是否良好,可以使用。该方法会验证 PackageStatus 中的一系列属性以判断包是否可用。PackageStatus 包含的属性如下: DataOffline 指示当前包所用数据是否离线。例如,当应用的数据安装在了 SD 卡等可移动介质上,而该媒体弹出时,数据即为离线状态,则该属性返回 true。 DependencyIssue 指示包的依赖项状态。当当前包的依赖项之一遭遇异常时,该属性即返回 true。在当前包的全部依赖项解决问题前,当前包将无法使用。 DeploymentInProgress 指示当前包是否正在被部署过程占用。例如,当包正在更新时,该属性返回 true。 Disabled 指示当前包是否被禁用。包可以通过 PackageManager.SetPackageStatus 进行禁用,或通过 PackageManager.ClearPackageStatus 启用。 LicenseIssue 指示当前包是否有授权问题。例如当授权丢失或过期时,该属性返回 true。所有授权问题解决前,当前包将不可用。 Modified 指示当前包是否存在内容修改问题。例如,当包丢失了某些文件时,该属性返回 true。 NeedsRemediation 指示当前包是否需要进行修正。例如,当 NotAvailable, LicenseIssue, Modified, Tampered 中的一个或多个属性指示出当前包存在异常情况时,该属性即为 true。 NotAvailable 指示当前包是否不可用。例如,当 DataOffline, Disabled, PackageOffline 中的一个或多个属性指示出当前包存在异常情况时,该属性即为 true。 PackageOffline 指示当前包是否离线或不能访问。例如,当包文件安装在 SD 卡等可移动介质上,且该介质处于被移除,则该属性为 true。 Servicing 指示当前包是否处于被占用状态。 Tampered 指示当前包是否处于感染状态。改属性返回 true 的一种可能原因是第三方反病毒软件将当前包标记为了恶意程序。 Dependencies 属性为 IReadOnlyList<Package> 类型,可用于获取当前包的所有依赖项。注意该属性仅用于获取 Windows Store 应用包的依赖项。要获取一个桌面应用包的依赖项,需使用 Win32 函数 GetPackageInfo。 有关 Package 的具体用法可参见 Github 上的示例代码。 列举 Windows Mobile 设备上已部署的应用包 Windows.Phone.Management.Deployment 命名空间下提供了一系列用于控制应用部署功能的类型,其中 InstallationManager 类型负责应用包的安装管理。我们可以通过其中的 FindPackagesForCurrentPublisher 方法获得当前 Windows Mobile 设备上安装的同一发布者的应用包部署情况。该方法的返回类型为 IEnumerable<Package>,我们可以进一步检索返回值获取具体某个应用包的详细信息甚至启动这些应用。 值得说明的是,Windows.Phone.Management.Deployment 仅在 Windows Mobile 设备上有效,故在 UWP 应用中使用时,需要配合 AnalyticsInfo.VersionInfo.DeviceFamily 检测当前设备类型,选择是否调用该命名空间下的方法。另外,'InstallationManager' 类中提供的其它方法需要 ID_CAP_OEM_DEPLOYMENT 特别权限才能够正常使用,故一般开发者无法使用。 获取用户数据账户信息 用户数据账户是什么呢?举例说明,如果你用过 Android 系统,那么你在 Android 的系统设置中会看到一项名为“账户”(Accounts)的设置栏目,其中列出了当前系统登录的 Gmail、Outlook、Office、Exchange、微博等各种应用注册的账户。这些账户就是用户数据账户。Windows.ApplicationModel.UserDataAccounts 命名空间定义了用于控制邮件、预约、日历等用户数据账户信息的相关类型和枚举。其中,UserDataAccount 类型表示一个用于存取邮件、联系人、日历等数据的用户数据账户。UserDataAccountManager 类型提供了与用户数据账户交互的 API。UserDataAccountStore 代表用户数据账户的储存区。本文主要讲述如何通过 Windows Store App API 获取一些常用的信息,故在此不涉及操作用户数据账户的内容。仅关注如何获得一些数据。 要使用 UserDataAccounts 相关 API,要求应用在清单文件中声明联系人(contacts)、预约(appointments)、邮件(email)等功能中的一个或多个。 假设我们想要列举出当前系统上登录的所有用户数据账户,并输出这些账户的相关信息,首先我们需要通过 UserDataAccountManager.RequestStoreAsync 方法向系统请求用户数据账户的储存区。该方法接受一个 UserDataAccountStoreAccessType 枚举类型的参数。该参数用于指定要求的用户数据账户存储区的访问类型。UserDataAccountStoreAccessType 枚举包含两个成员: AllAccountsReadOnly 对应用以及系统的用户数据账户进行只读访问 AppAccountsReadWrite 对当前应用的用户数据储存区进行读/写访问 由枚举可知,我们虽然可以检索当前应用自身以外的用户数据账户,但对于自身以外的用户数据账户并没有写权限。 这里我们选择第一种访问类型,使用以下代码请求用户数据账户储存区: UserDataAccountStore userDataAccountStore = await UserDataAccountManager.RequestStoreAsync(UserDataAccountStoreAccessType.AllAccountsReadOnly); 获取到的用户数据账户储存区实例为 UserDataAccountStore 类型,该类型包含三个方法: CreateAccountAsync 创建一个用户数据账户。 FindAccountsAsync 根据指定的访问类型返回用户数据账户储存区中的账户集合。 GetAccountAsync 获取指定用户数据账户。 这里我们调用 FindAccountsAsync 即可获得所有用户数据账户,并进行下一步操作。具体演示可参见 Github 上的示例代码。 获取系统用户信息 在 Windows 8 应用中,我们使用 Windows.System.UserProfile 命名空间中的 UserInformation 访问系统登录的用户账户信息。而在 Windows 10 以及以后版本的 Windows 中,UserInformation 不再被支持。因为在 Windows 10 中,除非用户授权,应用是不能获取用户信息的。而 Windows 8 应用则是默认得到授权的。并且,旧的 Windows 8 应用运行于 Windows 10 时也无法正常获取用户信息。 在 Windows 10 上我们需要使用新的 API 提供的Windows.System.User 类型获取用户信息。注意使用该 API 需要应用在清单文件中配置“用户账户信息”(User Account Information) 功能。 User 类提供了三个静态方法及其重载: CreateWatcher 创建一个监视器用于在列举用户账户或用户账户发生变更时出发有关事件。 FindAllAsync 查找所有用户账户。 FindAllAsync(UserType) 查找指定类型的用户账户。 FindAllAsync(UserType,UserAuthenticationStatus) 查找指定类型和验证状态的用户账户。 GetFromId 根据 ID 获取指定用户账户实例。 我们可以通过 FindAllAsync 或 GetFromId 方法获取用户账户实例,获取用户后,可以通过调用 GetPropertyAsync 方法取得该用户的属性信息。GetPropertyAsync 方法接受一个 string 类型的参数,具体传入内容可以通过 KnownUserProperties 类中定义的属性获取。 KnownUserProperties 类中定义了已知可用的用户账户属性键名。例如,我们想要获取账户显示名称时,可以采用如下方法: string displayName = await user.GetPropertyAsync(KnownUserProperties.DisplayName); User 类还包含以下三个属性成员: AuthenticationStatus 获取用户账户的验证状态。返回值为枚举类型 UserAuthenticationStatus。 NonRoamableId 获取用户的非漫游 ID。 Type 获取用户的用户账户类型。返回值为枚举类型 UserType。 配合使用 UserDataAccount 和 User 两个 API 可以使应用更好地实现唯一用户识别、用户账户体系、自定义授权等功能特性。

Visual Studio 2015 update2下载地址

clock 四月 1, 2016 09:22 by author alex
http://download.microsoft.com/download/0/f/8/0f89c8af-9430-4c13-bf6a-d75b7513ac29/vs2015.2.com_chs.iso http://download.microsoft.com/download/0/f/f/0ff02315-ddd7-46a8-a60c-e809b5d170da/vs2015.2.pro_enu.iso http://218.108.192.186/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/download.microsoft.com/download/c/2/3/c23cdcdd-4dbb-4c4d-aec5-34898906d756/vs2015.2.pro_chs.iso

UWP获取设备真实分辨率

clock 三月 22, 2016 22:47 by author alex
double screenWidth = ApplicationView.GetForCurrentView().VisibleBounds.Width * DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;            double screenHeight = ApplicationView.GetForCurrentView().VisibleBounds.Height * DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;

sqlite.net-PCL 给表设置主键

clock 一月 8, 2016 22:48 by author alex
public class Stock { [PrimaryKey, AutoIncrement] public int Id { get; set; } [MaxLength(8)] public string Symbol { get; set; } } public class Valuation { [PrimaryKey, AutoIncrement] public int Id { get; set; } [Indexed] public int StockId { get; set; } public DateTime Time { get; set; } public decimal Price { get; set; } } public static SQLiteConnection InitConnection()         {             var path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "database.db");             SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);             return conn;         }         public static void InitTable()         {             using (SQLite.Net.SQLiteConnection conn = OffLineHelper.InitConnection())             {                 conn.CreateTable<Stock>();                 conn.CreateTable<Valuation>();             }         }

读取xaml文件加载到界面

clock 一月 5, 2016 13:01 by author alex
string xamlFileName = @"c:\test.xaml";             string xamlContent = string.Empty;             try             {                 using (StreamReader sr = new StreamReader(xamlFileName))                 {                     xamlContent = sr.ReadToEnd();                 }             }             catch (Exception e)             {               throw e;             }             StringReader stringReader = new StringReader(xamlContent);             XmlReader xmlreader = XmlReader.Create(stringReader);               Canvas canvas1 = (Canvas)XamlReader.Load(xmlreader);             LayoutRoot.Children.Add(canvas1);//LayoutRoot为Grid

UWP WebView加ApplicationData.Current.LocalFolder中的图片

clock 十二月 16, 2015 19:27 by author alex
网络加载的图片通常需要缓存在某个特定存储区内如:ApplicationData.Current.LocalFolder。为了能够缩放显示图片最简单的八方就是用WebView。WebView要显示ApplicationData.Current.LocalFolder中图片需要做转换降图片转换成base64字符串。代码如下: private async Task<string> ConvertImageToBase64()         {             StorageFolder storageFolder = ApplicationData.Current.LocalFolder;             StorageFile pngFile = await storageFolder.GetFileAsync("1.png");             var readStream = await pngFile.OpenAsync(FileAccessMode.Read);             var inputStream = readStream.GetInputStreamAt(0);             var dataReader = new DataReader(inputStream);             var numBytesLoaded = await dataReader.LoadAsync((uint)readStream.Size);             var byteString = new byte[numBytesLoaded];             dataReader.ReadBytes(byteString);             return Convert.ToBase64String(byteString);         } var base64 = await this.ConvertImageToBase64();            string html = "<html><body bgcolor='#000'><img src='data:image/png;base64,"+ base64 + "'/></body></html>";           this.wv.NavigateToString(html);

UWP默认显示一张初始图片,图片下载完成后替换初始图片

clock 十二月 14, 2015 19:04 by author alex
public class DateFormatter : Windows.UI.Xaml.Data.IValueConverter { public async object Convert(object value, Type targetType, object parameter, string language) { string path = value as string; Uri uri = new Uri(path); //try do download Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient(); try { var image = await httpClient.GetAsync(uri); } catch (Exception ex) { return "defaultImage.png"; } return path; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); } } <Border Background="#B2262626" Width="315" Height="300" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="2,2,0,0" CornerRadius="15" > <StackPanel Orientation="Vertical" Background="#00262626" > <StackPanel.Resources> <local:ImageConverter x:Key="conv"/> </StackPanel.Resources> <Image Source="{Binding Path=ImagePath, Converter={StaticResource conv}}" Height="220" x:Name="image12" Stretch="Uniform" Margin="0,18,0,0" /> <TextBlock Text="{Binding Title}" Height="38" FontSize="20" Foreground="White" HorizontalAlignment="Center" FontWeight="Bold" Margin="0,10,0,0" TextAlignment="Center" TextWrapping="Wrap"/> </StackPanel> </Border>

WebView绑定HTMLString

clock 十月 20, 2015 21:06 by author alex
namespace YOURNAMESPACE { class MyProperties { // "HtmlString" attached property for a WebView public static readonly DependencyProperty HtmlStringProperty = DependencyProperty.RegisterAttached("HtmlString", typeof(string), typeof(MyProperties), new PropertyMetadata("", OnHtmlStringChanged)); // Getter and Setter public static string GetHtmlString(DependencyObject obj) { return (string)obj.GetValue(HtmlStringProperty); } public static void SetHtmlString(DependencyObject obj, string value) { obj.SetValue(HtmlStringProperty, value); } // Handler for property changes in the DataContext : set the WebView private static void OnHtmlStringChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { WebView wv = d as WebView; if (wv != null) { wv.NavigateToString((string)e.NewValue); } } } } xmlns:local="using:MYNAMESPACE"   <WebView local:MyProperties.HtmlString="{Binding CurrentHtmlString}"></WebView>

Visual Studio 2015 package did not load correctly

clock 八月 15, 2015 01:59 by author alex
1.关闭VS2015 2.删除%AppData%\..\Local\Microsoft\VisualStudio 3.重新启动

Windows 10 RTM 下载

clock 七月 16, 2015 11:08 by author alex
安装序列号:VK7JG-NPHTM-C97JM-9MPGT-3V66T  微软官网地址: 专业版64位 http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/3455226d-4505-4276-9fdb-a201df84dffb?P1=1436998444&P2=301&P3=2&P4=NpYlQRwRhQCdJzN4erEaeKdzkKyAEcqKaZMOuNVEUuM%3d 企业版64位 http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/86aee7b0-af53-4765-9758-f37d59d6b84b?P1=1436993045&P2=301&P3=2&P4=pxM6oXf0Bc5BQpgTgdnFwDiPzBXfj3dVwzz%2f%2fvrva9U%3d 专业版32位 http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/62021fde-6e54-4fe2-82d4-1ea85778e4ea?P1=1437007016&P2=301&P3=2&P4=jZc5%2byfXYEDQfjqmziiZNrG5%2b7fn%2fyD9pdO69bscid4%3d   迅雷快传: 专业版64 http://kuai.xunlei.com/d/a2HVFAIhAADi56ZV36e 企业版64(360盘已上传): http://kuai.xunlei.com/d/a2HVFAIbAADQ3KZV9a5 专业版32 http://kuai.xunlei.com/d/a2HVFAJ7AABV-KZV358 360云盘: 专业版64位 http://yunpan.cn/ccrPYI4m64NJM(提取码:da42) 企业版64位 http://yunpan.cn/ccr6uIA9zEHGj(提取码:f4ea)   解密及转换工具: http://yunpan.cn/ccr2xIX6CiPEG(提取码:f5c3) 激活命令(管理员): slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /skms kms.xspace.in slmgr /ato 三个命令依次输入,如果激活不成功请用以下密匙替换:Windows 10 Professional - W269N-WFGWX-YVC9B-4J6C9-T83GX Windows 10 Professional N :MH37W-N47XK-V7XM9-C7227-GCQG9

友情链接赞助