Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение с PDA, как определить соединение? 
:(
    Опции темы
Evropeec
Дата 23.10.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 20.2.2007

Репутация: нет
Всего: нет




как определить ИЗ PDA есть ли соединение с компьютером или его нет?
т.е. есть программа для PDA, которая по таймеру проверяет соединение с ActivSync. Какой параметр отвечает за соединение?

если не влом, настучите smile 
PM MAIL   Вверх
Evropeec
Дата 24.10.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 20.2.2007

Репутация: нет
Всего: нет



Есть идея послaть ping на какой-нибудь сервер.

нашел в интернете такой код:

Код

Imports System.Net
Imports System.Net.NetworkInformation
Imports System.Net.Dns
Imports System.Drawing.Drawing2D

Public Class Form1
    Private mUserToken() As Byte
    Private WithEvents mPing As Ping
    Private mTimeOut As Integer
    Private mCmdText(1) As String

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ' Werte für TimeOut-Zeiten
        Dim TOut() As Integer = {2, 4, 8, 16, 24}

        Me.Text = "Ping.SendAsync [FW 2.0]"
        ' Beschriftungen für den Button cmdPing
        mCmdText(0) = "Ping"
        mCmdText(1) = "Cancel"

        ' Button cmdPing vorerst sperren
        cmdPing.Enabled = False

        ' Instanz einer Ping-Klasse erstellen
        mPing = New Ping

        ' bei Ping.SendAsync wird an UserToken
        ' ein beliebiges Objekt übergeben. Hier 
        ' wird eine aus einem GUID erzeugte Byte-
        ' folge verwendet. 
        mUserToken = [Guid].NewGuid.ToByteArray

        ' DropDownListe der ComboBox  
        ' cboTimeOut mit Werten füllen
        cboTimeOut.DataSource = TOut
        cboTimeOut.SelectedIndex = cboTimeOut.Items.Count - 3

        Me.BackColor = Color.FromArgb(190, 200, 255)

    End Sub

    Private Sub cmdPing_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPing.Click
        ' Ping senden bzw. noch laufenden Ping abbrechen
        If cmdPing.Text = mCmdText(0) Then
            SendPing()
        Else
            mPing.SendAsyncCancel()
        End If
    End Sub

    Private Sub txtHostIP_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtHostIP.KeyPress
        ' Beim Drücken der Eingabetaste SendPing
        ' aufrufen, wenn cmdPing.Enabled = True 
        If e.KeyChar = Chr(13) Then
            If cmdPing.Enabled Then
                SendPing()
            End If
        End If
    End Sub

    Private Sub SendPing()
        ' Ping asynchron senden
        Dim TOut As Integer = CType(cboTimeOut.SelectedItem, Integer) * 1000
        ShowText("> Ping.SendAsync(" & txtHostIP.Text & ")")
        mPing.SendAsync(txtHostIP.Text, TOut, mUserToken)
        cmdPing.Text = mCmdText(1)
    End Sub

    Private Sub mPing_PingCompleted(ByVal sender As Object, ByVal e As System.Net.NetworkInformation.PingCompletedEventArgs) Handles mPing.PingCompleted
        ' Wird ausgelöst, wenn der asynchron gesendete Ping
        ' erfolgreich oder mit Fehler beendet oder durch 
        ' Benutzereingriff (Cancel) abgebrochen wurde.
        Dim strBuffer As String = ""
        Dim R As PingReply = e.Reply

        Try
            If e.Cancelled Then
                strBuffer = "Ping " & txtHostIP.Text & " cancelled."
            Else
                If R.Status = IPStatus.Success Then
                    strBuffer = "IP: " & R.Address.ToString() & ControlChars.CrLf & _
                                "Status: " & R.Status.ToString & ControlChars.CrLf & _
                                "RoundTripTime: " & R.RoundtripTime.ToString & " msec."

                Else
                    strBuffer = "Ping " & txtHostIP.Text & ControlChars.CrLf & _
                                "Status: " & R.Status.ToString
                End If

            End If

        Catch Ex As Exception
            strBuffer = e.Error.Message
            If e.Error.InnerException IsNot Nothing Then
                strBuffer = strBuffer & ControlChars.CrLf & _
                            e.Error.InnerException.Message
            End If

        End Try

        ShowText(strBuffer)

        cmdPing.Text = mCmdText(0)
        cmdPing.Enabled = (txtHostIP.Text.Length > 0)
    End Sub

    Private Sub cmdClearList_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdClearList.Click
        ' Resultatliste (txtResult)löschen
        txtResult.Text = ""
    End Sub

    Private Sub cmdClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdClose.Click
        ' Programm beenden
        mPing.Dispose()
        Me.Close()
    End Sub


    Private Sub txtHostIP_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtHostIP.TextChanged
        ' cmdPing nur dann freigeben, wenn mindestens 
        ' 1 Zeichen in der Textbox txtHostIp steht
        cmdPing.Enabled = (txtHostIP.Text.Length > 0)
    End Sub

    Private Sub ShowText(ByVal Text As String)
        ' Text in der Resultatliste (txtResult) ausgeben.
        If txtResult.Text.Length > 0 Then
            txtResult.Text = txtResult.Text & _
                             ControlChars.CrLf & _
                             ControlChars.CrLf
        End If
        txtResult.Text = txtResult.Text & Text
        txtResult.SelectionStart = txtResult.Text.Length
        txtResult.ScrollToCaret()
    End Sub
End Class



но проблема в том, что "CompactFramework v3.5 WindowsCE" не содержит "System.Net.NetworkInformation".

может можно это обойти?
PM MAIL   Вверх
Experimenter
Дата 29.10.2008, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 8
Всего: 17



Evropeec, 
Код

                Microsoft.WindowsMobile.Status.SystemState ss = new SystemState(SystemProperty.CradlePresent);
                ss.Changed += new ChangeEventHandler(ss_Changed);
и т.д.


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
Evropeec
Дата 31.10.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 20.2.2007

Репутация: нет
Всего: нет



Просто огромное спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.