当前位置: 首页 > news >正文

济南卓远网站建设公司全国招商加盟网免费

济南卓远网站建设公司,全国招商加盟网免费,襄阳专业网站建设公司,网站维护建设费入什么科目文章目录 需求来源Windows查询Windows版本号方法1. 如何查看Windows版本号2. Windows开发如何通过代码查询Windows版本号(1) 使用C#代码:(2) 使用VB.NET代码 3.通过注册表查看Windows版本信息 Flutter查询Windows版本号方法依赖库支持平台实现步骤1. 在pubspec.yaml…

文章目录

  • 需求来源
  • Windows查询Windows版本号方法
    • 1. 如何查看Windows版本号
    • 2. Windows开发如何通过代码查询Windows版本号
      • (1) 使用C#代码:
      • (2) 使用VB.NET代码
    • 3.通过注册表查看Windows版本信息
  • Flutter查询Windows版本号方法
    • 依赖库
    • 支持平台
    • 实现步骤
      • 1. 在pubspec.yaml中添加依赖
      • 2. 获取版本号
    • 方法解释
      • openPath
      • getValue
      • getValueAsString
      • getValueAsInt
      • createValue
      • deleteValue
      • deleteKey
      • renameSubkey
    • 注意事项
    • 拓展话题

需求来源

毛玻璃效果配置选项:
WindowEffect.acrylic:Windows 10 1803 及以上版本
WindowEffect.aero:Windows 10 1803以下版本
书接上回,毛玻璃效果配置选项依据Windows的版本号而有所不同,那么如何获取Windows的版本号了?

Windows查询Windows版本号方法

1. 如何查看Windows版本号

要获取Windows版本号,可以按照以下步骤进行操作:
(1)打开"运行"对话框,可以使用快捷键Win + R。
(2)在运行对话框中输入"winver",然后点击"确定"按钮。
(3)弹出的窗口中会显示Windows的版本号和版本信息。
在这里插入图片描述

2. Windows开发如何通过代码查询Windows版本号

(1) 使用C#代码:

using System;
using Microsoft.Win32;
class Program{static void Main(string[] args){string version = string.Empty;using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion")){if (key != null){version = key.GetValue("CurrentVersion").ToString();}}Console.WriteLine("Windows版本号:" + version);}}

(2) 使用VB.NET代码

Imports Microsoft.Win32
Module Module1Sub Main()Dim version As String = String.EmptyUsing key As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion")If key IsNot Nothing Thenversion = key.GetValue("CurrentVersion").ToString()End IfEnd UsingConsole.WriteLine("Windows版本号:" & version)End SubEnd Module

通过C#和 .NET获取Windows版本的方法,可以总结出2个关键点:
1. 引入Win32依赖库;
2. 读取注册表信息

3.通过注册表查看Windows版本信息

打开注册表编辑器,输入"计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion",就可以查看版本号信息
在这里插入图片描述

Flutter查询Windows版本号方法

Windows原生开发获取版本号的方法为Flutter提供了指导,只要可以找到读写windows注册表,就可以实现版本号的查询。目前,flutter 已经提供了读写windows注册表的依赖库,很方便我们实现相关功能.

依赖库

win32_registry

支持平台

Windows

实现步骤

1. 在pubspec.yaml中添加依赖

dependencies:...win32_registry: ^1.1.2

2. 获取版本号

import 'package:win32_registry/win32_registry.dart';int? getWindowBuildNumber() {const regCurrentVersionKey = r'SOFTWARE\Microsoft\Windows NT\CurrentVersion';final key =Registry.openPath(RegistryHive.localMachine, path: regCurrentVersionKey);final mCurrentVersion = key.getValueAsString('CurrentVersion');if (kDebugMode) {print("mCurrentVersion:$mCurrentVersion");}final mUBR = key.getValueAsInt('UBR');if (kDebugMode) {print("mUBR:$mUBR");}return mUBR;
}

打印值:

flutter: mCurrentVersion:6.3
flutter: mUBR:1081

方法解释

openPath

打开指定的注册表键

RegistryKey openPath(RegistryHive hive, {String path = '',AccessRights desiredAccessRights = AccessRights.readOnly,
})

RegistryHive :注册表的入口,

枚举值有localMachine(HKEY_LOCAL_MACHINE),
currentUser(HKEY_CURRENT_USER),
allUsers(HKEY_USERS),
classesRoot(HKEY_CLASSES_ROOT),
currentConfig(HKEY_CURRENT_CONFIG),
performanceData(HKEY_PERFORMANCE_DATA);

除了performanceData以外,其他的值与注册表一级目录一一对应;
在这里插入图片描述

path:注冊表的路径
desiredAccessRights :期望权限

readOnly(KEY_READ),
writeOnly(KEY_WRITE),
allAccess(KEY_ALL_ACCESS);

createKey:创建一个新的注册表键
下面是通过注册表添加程序自动启的案例

Future<void> updateRegistryTest()  {const regCurrentVersionKey = r'Software\Microsoft\Windows\CurrentVersion\Run';final key =Registry.openPath(RegistryHive.currentUser, path: regCurrentVersionKey,desiredAccessRights: AccessRights.writeOnly);key.createKey("WeChat");key.createValue(const RegistryValue("WeChat", RegistryValueType.string, "D:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe"));key.close();
}

创建结果如下:
在这里插入图片描述

getValue

查询指定键的值

getValueAsString

查询字符串类型的指定键的值

getValueAsInt

查询Int类型的指定键的值

createValue

设置指定键的值

deleteValue

删除指定键的值

deleteKey

删除指定的注册表键

renameSubkey

更改指定注册表项的名称

注意事项

  1. Unhandled Exception: Error 0x80070005: 拒绝访问
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Error 0x80070005: 拒绝访问。
#0      Registry.openPath (package:win32_registry/src/registry.dart:56:7)
#1      getWindowBuildNumber (package:window_example/util/window_util.dart:61:16)
#2      showAcrylic (package:window_example/util/window_util.dart:35:22)
#3      _MyHomePageState._init (package:window_example/main.dart:142:5)
<asynchronous suspension>

出现该异常:需要检查路径是否正确,权限参数是否正确;

拓展话题

Windows注册表介绍与操作

http://www.yayakq.cn/news/126843/

相关文章:

  • php 公司网站源码网站样版风格排版
  • 网站建设招标说明书网站购物车设计
  • 政务网站建设经验做法商务网站开发实训任务书
  • 专业网站建站费用竞价外包托管费用
  • 企业网站推广方法有哪些?南昌县网页设计
  • 使用html5做语音标注网站谷歌网站收录入口
  • 深圳网站建设优化排名网站空间付款方式
  • 电商网站建设的目的接技术标做网站
  • 网站首页大图素材西安百度框架户
  • 江阴公司网站建设wordpress 经典推荐
  • 建材做网站好吗专业拓客公司联系方式
  • 安徽网站开发费用哈尔滨建站人
  • 有没有网站做胡兼职广告设计自学网
  • 网站建设的图片叠加步骤过程昆明网站制作方案定制
  • 中小企业网站制作方法东莞临时工最新招聘
  • 爱站seowordpress语言包下载
  • 网站信息做参考文献企业网络营销目标
  • 可以做自媒体的网站如何用php做网站
  • .net 做手机网站吗wordpress相册短代码
  • 海淀手机网站建设主流网站宽度
  • 十大纯净系统网站创新创业教育课程网站建设方案
  • 网站做网络营销的效果云畅网站建设
  • 云南科技网站建设中国电子商务官网
  • 深圳网站建设黄浦网络 骗钱自己做qq头像静态的网站
  • 湛江公司网站建设微信公众号怎么创建要多少钱
  • 一小时做网站养殖网站源码
  • 手机网站和网站一体公众号注册
  • 网站建设及使用网页设计实训报告心得
  • 师德师风建设网站汕头手机网页制作
  • 快速网站排名汉狮公司贵州三大交通建设企业