H
H0muT
Добрый день!!! У меня проблема связанная с winsock....
Скажу сразу с VB знаком буквально пару дней, так большую часть брал из исходников в нэте....
Собственно задача состоит в том, что бы программа при запуске открывала другое приложение и по telnet'у отсылала ему некоторые команды... Вот то что у меня получилось:
Программа успешно работает на моей машине WinXP, но дело в том, запускать ее нужно на копьютере под Windows Server 2008, а там она работать категорически отказывается..., вылетает с ошибкой "Run-time error 40006"... После не долгих "танцев с бубном" нашел в нэте вот это (http://msdn.microsoft.com/ru-ru/library/system.windows.forms.application.doevents.aspx):
DoEvents - метод
Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений.
Платформы
Windows 7, Windows Vista с пакетом обновления 1 (SP1) или выше, Windows XP с пакетом обновления 3 (SP3), 64-разрядный выпуск Windows XP с пакетом обновления 2 (SP2), Windows Server 2008 (Server Core не поддерживается)
И соответственно хочу обратиться к вам за советом, как можно решить мою проблемку?
Скажу сразу с VB знаком буквально пару дней, так большую часть брал из исходников в нэте....
Собственно задача состоит в том, что бы программа при запуске открывала другое приложение и по telnet'у отсылала ему некоторые команды... Вот то что у меня получилось:
Код:
Public Function nasFileExists(FilePath As String) As Boolean
On Error Resume Next
Dim feFile
Err.Clear
feFile = FreeFile
FilePath = Replace(FilePath, "\\", "\")
Open FilePath For Input As #feFile
If Err.Number = 53 Or Err.Number = 76 Then
nasFileExists = False
GoTo OK
Else
nasFileExists = True
End If
OK:
Close #feFile
Err.Clear
End Function
Private Sub Form_Load()
If App.PrevInstance Then End
Shell ("С:\VLC\vlc.exe -I telnet --telnet-password 123")
Winsock.RemotePort = PortNumber.Text
Winsock.Connect (HostName.Text)
DoEvents
If nasFileExists("C:\Users\123.vlm") Then
Winsock.SendData (ConPass.Text + Chr(13) + Chr(10))
Winsock.SendData (ConLoad.Text + Chr(13) + Chr(10))
Winsock.SendData (ConPlay.Text + Chr(13) + Chr(10))
Else
Winsock.SendData (ConPass.Text + Chr(13) + Chr(10))
Winsock.SendData (ConRez.Text + Chr(13) + Chr(10))
Winsock.SendData (ConPlay.Text + Chr(13) + Chr(10))
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Shell ("cmd /x/c taskkill /f /im vlc.exe")
End Sub
Private Sub Winsock_Connect()
End Sub
Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Call Winsock.GetData(str)
End Sub
Программа успешно работает на моей машине WinXP, но дело в том, запускать ее нужно на копьютере под Windows Server 2008, а там она работать категорически отказывается..., вылетает с ошибкой "Run-time error 40006"... После не долгих "танцев с бубном" нашел в нэте вот это (http://msdn.microsoft.com/ru-ru/library/system.windows.forms.application.doevents.aspx):
DoEvents - метод
Обрабатывает все сообщения Windows, которые в данный момент находятся в очереди сообщений.
Платформы
Windows 7, Windows Vista с пакетом обновления 1 (SP1) или выше, Windows XP с пакетом обновления 3 (SP3), 64-разрядный выпуск Windows XP с пакетом обновления 2 (SP2), Windows Server 2008 (Server Core не поддерживается)
И соответственно хочу обратиться к вам за советом, как можно решить мою проблемку?