获取运行C#桌面应用程序的国家/地区

获取运行C#桌面应用程序的国家/地区,c#,wpf,geolocation,C#,Wpf,Geolocation,IWPF/C#桌面应用程序,如何获取用户当前运行该应用程序的国家/地区 下面的查询仅根据控制面板的区域和语言选项中选择的内容返回值,因此在此处无法使用 string countryName = RegionInfo.CurrentRegion.DisplayName; 找到此站点以使用IP地址: 但这是一个企业应用程序,不知道是否在企业VPN中使用,因此可能返回错误的国家/地区(我想要用户当前实际所在的国家/地区) 在这种情况下,获得国家的首选(最可靠)方式是什么?地区和语言选项的方式是正确

I
WPF/C#
桌面应用程序,如何获取用户当前运行该应用程序的国家/地区

下面的查询仅根据控制面板的区域和语言选项中选择的内容返回值,因此在此处无法使用

string countryName = RegionInfo.CurrentRegion.DisplayName;
找到此站点以使用IP地址:

但这是一个企业应用程序,不知道是否在企业VPN中使用,因此可能返回错误的国家/地区(我想要用户当前实际所在的国家/地区)


在这种情况下,获得国家的首选(最可靠)方式是什么?

地区和语言选项的方式是正确的。你也可以在网上写一些东西,跟踪公共ip地址,然后观察这些地址来自哪里(但在Tor、Proxies的时代,…这也不是最好的方式,你需要一个连接的互联网。我们可以通过另一种方式帮助你吗..你能描述一下你为什么想了解这个县吗?太棒了,你不能可靠地做到这一点。你可以尝试一些可以让你更接近的事情

  • 实际询问用户
  • 使用区域设置
  • 解析公共IP地址
  • 如果GPS可用且您有权限,尝试使用GPS
  • 尝试使用WiFi(在您的情况下可能不太可能,因为我认为这类数据是私有的,并且受到了很多保护)

我需要此国家/地区的原因是我想为用户提供该国家/地区的一些默认数据(这只是用户的帮助,因为他们可以在应用程序中手动设置此国家/地区)然后你应该使用你给我们的例子,在第一次运行时屏蔽用户,例如,在这里可能是明智的,并将答案保存到应用程序设置中。