Windows系统上包含了200多个国家和地区的数据,有时候编程需要这些资料。以下代码可以帮助你快速获取这些信息。
将Console语句注释掉,可以更快的完成分析。

 static void Main(string[] args) {
Console.WriteLine("Start!");
// 这里可以修改文件路径和文件名称。
var sw = new StreamWriter(new FileStream("RegionInfo.txt", FileMode.OpenOrCreate)); // 通过反射获取 RegionInfo 类的属性,作为标题写入文件流
sw.WriteLine("Culture," + string.Join(",", typeof(RegionInfo).GetProperties().Select(p => p.Name).ToArray())); // Windows 系统中定义国家和地区信息使用 Culture 参数,该参数包含2位国家代码和2位地区代码
for (var i = 0x00; i < 0xff; i++) {
for (var j = 0x00; j < 0xff; j++) {
var culture = (i << ) + j; // 构建 Culture 参数,i 为国家代码,j 为地区代码
RegionInfo ri = null;
// 并不是所有的 Culture 参数都是有效参数,因此需要处理实例化异常
try {
ri = new RegionInfo(culture);
// 通过反射获取实例化对象的属性值,并写入文件流
sw.WriteLine(culture + "," + string.Join(",", ri.GetType().GetProperties().Select(p => p.GetValue(ri, null).ToString()).ToArray()));
Console.WriteLine("0x{0:x}\tdone!", culture);
} catch {
continue;
}
}
}
sw.Flush();
sw.Close();
Console.WriteLine("All done!");
Console.ReadKey();
}

C#中除了 RegionInfo 类包含国家和地区信息,CultureInfo 类还包含了语言、文字等相关的其他信息,可以自行替换分析。

本文来自飞扬的尘埃的博客,转载请注明出处。

快速获取Windows系统上的国家和地区信息的更多相关文章

  1. 获取Windows系统中的所有可用和在用串口

    目的:获取Windows系统中的所有可用和在用串口 方法:注册表查询法 优点:简单.实用.快速.无遗漏,无多余结果. 说明:另外还有8种方法可以枚举串口,但都不如此法. 代码和详细注释如下: //-- ...

  2. windows系统上安装与使用Android NDK r5 (转)

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  3. 通过PowerShell获取Windows系统密码Hash

    当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大 ...

  4. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  5. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  6. Python使用WMI模块获取Windows系统的硬件信息,并使用pyinstaller库编译打包成exe的可执行文件

    由于公司现阶段大多数应用软件都是基于Windows系统开发和部署,很多软件安装部署都是在windows server 2012.windows server 2008之类的服务器上,部门同事每次测试一 ...

  7. [源码]一键获取windows系统登陆密码vc6版源码

    [源码]一键获取windows系统登陆密码vc6版源码支持:XP/2000/2003/WIN7/2008等 此版本编译出来的程序体积较小几十KB... 而vs版则1点几M,体积整整大了2-30倍对某些 ...

  8. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  9. windows系统上安装与使用Android NDK r5

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

随机推荐

  1. 【Symmetric Tree】cpp

    题目: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). F ...

  2. Portion of class Throwable’s inheritance hierarchy

  3. 【CentOs】sudo使用

    在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开.普通用户执行到系统程序时,需要临时提升权限 ...

  4. 设计模式之中介者模式(Mediator)

    中间者模者模式原理:中介者维持所有要交互对象的指针或者对象,所有对象维持一个中介者的指针或者对象. #include <iostream> #include <string> ...

  5. 【BZOJ】【3280】小R的烦恼

    网络流/费用流 和软件开发那题基本相同,只是多加了一个“雇佣研究生”的限制:不同价格的研究生有不同的数量…… 那么只需加一个附加源点,对每一种研究生连边 S->ss 容量为l[i],费用为p[i ...

  6. JS 时分秒验证

  7. rdtsc获取时间统计程序的运行效率

    __u64 rdtsc() {         __u32 lo,hi;           __asm__ __volatile__         (          "rdtsc&q ...

  8. 用 VIPER 构建 iOS 应用架构(1)

    [编者按]本篇文章由 Jeff Gilbert 和 Conrad Stoll 共同编写,通过构建一个基础示例应用,深入了解 VIPER,并从视图.交互器等多个部件理清 VIPER 的整体布局及思路.通 ...

  9. IE6中常见兼容性问题及浏览器显示难题

    1.双倍边距Bug 问题描述:假如有一个ul,里面有若干li,当li设置为左浮动时,此时设置li的margin-left为10px,会在最左侧呈现双倍情况.即20px 正常显示: IE6显示: 修正方 ...

  10. Webpack+React配合开发

    前面两篇关于webpack的基础和进阶,请先务必阅读之前的文章. Webpack教程一 Webpack教程二 什么是React React是一个由Facebook开发的library,它的口号是“A ...