59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
//go:build windows
|
|
|
|
package winapi
|
|
|
|
import (
|
|
"bytes"
|
|
"os/exec"
|
|
"strings"
|
|
"syscall"
|
|
)
|
|
|
|
// GetWifiConnection đọc SSID và BSSID từ netsh (Windows)
|
|
func GetWifiConnection() WifiConnection {
|
|
cmd := exec.Command("netsh", "wlan", "show", "interfaces")
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
|
|
|
|
var out bytes.Buffer
|
|
cmd.Stdout = &out
|
|
if err := cmd.Run(); err != nil {
|
|
return WifiConnection{}
|
|
}
|
|
|
|
var conn WifiConnection
|
|
for _, line := range strings.Split(out.String(), "\n") {
|
|
trimmed := strings.TrimSpace(line)
|
|
lower := strings.ToLower(trimmed)
|
|
if strings.HasPrefix(lower, "ssid") && !strings.Contains(lower, "bssid") {
|
|
if v := valueAfterColon(trimmed); v != "" {
|
|
conn.SSID = v
|
|
}
|
|
}
|
|
// Windows: "AP BSSID" (EN) hoặc dòng có chứa "bssid" (locale khác)
|
|
if strings.Contains(lower, "bssid") {
|
|
if v := valueAfterColon(trimmed); v != "" {
|
|
conn.BSSID = normalizeMAC(v)
|
|
}
|
|
}
|
|
}
|
|
return conn
|
|
}
|
|
|
|
// RequestLocationAccess requests Location permission (stub for Windows)
|
|
func RequestLocationAccess() {}
|
|
|
|
// RequestCameraAndMicAccess stub
|
|
func RequestCameraAndMicAccess() {}
|
|
|
|
// RequestScreenCaptureAccess stub
|
|
func RequestScreenCaptureAccess() {}
|
|
|
|
// GetCameraPermission stub
|
|
func GetCameraPermission() int { return -1 }
|
|
|
|
// GetMicrophonePermission stub
|
|
func GetMicrophonePermission() int { return -1 }
|
|
|
|
// GetScreenCapturePermission stub
|
|
func GetScreenCapturePermission() int { return -1 }
|