You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python从Windows系统获取位置信息

从Windows系统直接获取位置信息的方法

1. 调用Windows原生定位API(编程实现)

Windows提供了系统级的定位接口,可通过不同语言调用:

  • C#/.NET:借助Windows.Devices.Geolocation命名空间实现,示例代码:
using Windows.Devices.Geolocation;

async Task<Geoposition> GetSystemLocation()
{
    var accessStatus = await Geolocator.RequestAccessAsync();
    if (accessStatus != GeolocationAccessStatus.Allowed)
        return null;
    
    var geolocator = new Geolocator { DesiredAccuracy = PositionAccuracy.High };
    return await geolocator.GetGeopositionAsync();
}
  • PowerShell:通过调用WinRT API获取,示例代码:
Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskMethod = ([System.WindowsRuntimeSystemExtensions].GetMethods() | Where-Object { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 })[0]

$geolocator = New-Object Windows.Devices.Geolocation.Geolocator
$accessRequest = $geolocator.RequestAccessAsync()
$accessStatus = $asTaskMethod.Invoke($null, @($accessRequest)).Result

if ($accessStatus -eq [Windows.Devices.Geolocation.GeolocationAccessStatus]::Allowed) {
    $positionTask = $geolocator.GetGeopositionAsync()
    $position = $asTaskMethod.Invoke($null, @($positionTask)).Result
    Write-Host "纬度: $($position.Coordinate.Point.Position.Latitude), 经度: $($position.Coordinate.Point.Position.Longitude)"
}

2. 手动查看系统定位相关信息

  • 打开设置 > 隐私和安全性 > 定位,确认定位服务处于开启状态。
  • 在“最近的位置活动”区域,可查看系统记录的设备位置历史;部分已授权定位的应用(如地图类)也会显示当前获取的位置信息。

3. 检测硬件并获取GPS数据(若设备内置GPS)

通过PowerShell查询是否存在GPS硬件,再结合对应工具获取位置:

Get-WmiObject -Class Win32_PnPEntity | Where-Object { $_.Name -match 'GPS' }

若返回GPS设备信息,可通过设备配套的驱动工具或专用软件读取实时定位数据。

内容的提问来源于stack exchange,提问作者AhmedGalal s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:33:11