I'm trying to write an application that disconnects ActiveSync when the computer is locked. I attempting to use RAPI.ActiveSync.DisconnectNow. The function returns no errors however; ActiveSync is still connnected. My code is below.
Any assistance would be greatly appreicate.
Thank you
Imports
System
Imports
Microsoft.Win32
Imports
OpenNETCF.Desktop.CommunicationPublic Class frmMain
Dim oRAPI As RAPIPrivate Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
oRAPI =
Nothing
End SubPrivate Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
oRAPI =
New RAPI
oRAPI.ActiveSync.AutoConnect =
FalseAddHandler SystemEvents.SessionSwitch, AddressOf SystemEvents_SessionSwitch
End SubPrivate Sub SystemEvents_SessionSwitch(ByVal sender As Object, ByVal e As SessionSwitchEventArgs)
TrySelect Case e.ReasonCase SessionSwitchReason.SessionUnlock
ActiveSyncDisconnect()
txtStatus.AppendText(
"Unlock" & vbCrLf)Case SessionSwitchReason.SessionLock
ActiveSyncConnect()
txtStatus.AppendText("Lock" & vbCrLf)
End SelectCatch ex As Exception
txtStatus.AppendText(ex.Message & vbCrLf)
End Try
End Sub
Private Function IsActiveSyncConnected() As Boolean
Dim bStatus As Boolean = False
Try
If oRAPI.DevicePresent Then
bStatus =
True
Else
bStatus =
False
End IfCatch ex As Exception
txtStatus.AppendText(ex.Message & vbCrLf)
End TryReturn bStatus
End Function
Private Function ActiveSyncConnect() As Boolean
Dim bStatus As Boolean = True
Try
If Not IsActiveSyncConnected() Then
oRAPI.ActiveSync.ConnectNow()
End IfCatch ex As Exception
txtStatus.AppendText(ex.Message & vbCrLf)
bStatus =
False
End TryReturn bStatus
End Function
Private Function ActiveSyncDisconnect() As Boolean
Dim bStatus As Boolean = True
Try
If IsActiveSyncConnected() Then
If oRAPI.Connected Then
oRAPI.Disconnect()
End If
oRAPI.ActiveSync.DisconnectNow()
End IfCatch ex As Exception
txtStatus.AppendText(ex.Message & vbCrLf)
bStatus =
False
End TryReturn bStatus
End Function
Private Sub butConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butConnect.Click
ActiveSyncConnect()
End SubPrivate Sub butDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butDisconnect.Click
ActiveSyncDisconnect()
End Sub
End
Class