2014-10-05 5 views
1

Windows Phone 8.1에서 프로그래밍 방식으로 WiFi를 켜고 끌 수 있습니까?프로그래밍 방식으로 WiFi를 켜고 끌 수 있습니까?

그렇다면 C#에서 Wi-Fi를 켜고 끄는 방법은 무엇입니까?

<DllImport("coredll.dll")> Public Shared Function DevicePowerNotify(ByVal device As String, ByVal state As CEDEVICE_POWER_STATE, ByVal flags As Integer) As Integer 
End Function 

<DllImport("coredll.dll")> Public Shared Function SetDevicePower(_ 
ByVal pvDevice As String, _ 
ByVal df As Integer, _ 
ByVal ds As CEDEVICE_POWER_STATE) As Integer 
End Function 

Public Shared Sub wifi_power_on() 
    Try 
     DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", CEDEVICE_POWER_STATE.D0, 1) 
     SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", 1, CEDEVICE_POWER_STATE.D0) 
     Application.DoEvents() 
    Catch 
    End Try 

End Sub 

Public Shared Sub wifi_power_off() 
    Try 
     DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", CEDEVICE_POWER_STATE.D4, 1) 
     SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\cardname", 1, CEDEVICE_POWER_STATE.D4) 
     Application.DoEvents() 
    Catch 
    End Try 
End Sub 

을하지만 Wondows 전화 8.1에서, 나는 C#이 시간에 같은 일을했다하는 방법을 모른다 :

사실, 난 이미 다른 플랫폼에서이 작업을 수행.

같은 방식으로 지원되지 않을까 걱정됩니다.

이 내가 C#으로하려고 한 것입니다 :

윈도우 폰에서
[DllImport("coredll.dll")] 
    public static extern int DevicePowerNotify(string device, CEDEVICE_POWER_STATE state, int flags); 

    [DllImport("coredll.dll")] 
    public static extern int SetDevicePower(string pvDevice, int df, CEDEVICE_POWER_STATE ds); 

    public static void wifi_power_on() 
    { 
     try 
     { 
      DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", CEDEVICE_POWER_STATE.D0, 1); 
      SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", 1, CEDEVICE_POWER_STATE.D0); 
      Application.DoEvents(); 
     } 
     catch 
     { 
     } 

    } 

    public static void wifi_power_off() 
    { 
     try 
     { 
      DevicePowerNotify("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", CEDEVICE_POWER_STATE.D4, 1); 
      SetDevicePower("{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\cardName", 1, CEDEVICE_POWER_STATE.D4); 
      Application.DoEvents(); 
     } 
     catch 
     { 
     } 
    } 
+0

우리는 당신이 시도 한 내용을 참조하시기 바랍니다 수 :

당신이 얻을 수있는 가장 가까운 프로그램 사용자가 설정을 수정할 수 있습니다 와이파이 설정 페이지를 시작하는 것입니다? 당신이 지역 사회가 당신 일을하고 싶어하는 것 같아요. 그러나 당신이 우리와 함께 당신의 월급을 공유 할 계획이 없다고 생각하기 때문에 나는 그것을 조용히 무례한 것으로 느낍니다. – gdoron

+0

@ gdoron - 여기에 해당되지 않습니다. 이것은 유효한 "How"질문입니다. –

+0

@andy - 이것이 어떤 플랫폼과 버전인지를 분명히합니다. –

답변

1

(현재 8.1-7.0에서 모든 버전) 프로그래밍에 무선 랜을 끄거나 수 없습니다. 이는 플랫폼이 이러한 종류의 설정을 항상 사용자가 제어 할 수있게하기 때문입니다.

await Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:")); 
+0

답변 해 주셔서 감사합니다 :) –

관련 문제