Портирование из Делфи в ВБ.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Портирование из Делфи в ВБ.

Сообщение Павлуша » 14.08.2005 (Вс) 14:36

есть у меня один исходник на Дельфи:
Код: Выделить всё
while (true)do
begin
WinExec ('Netsend "здесь некоторый ИП в локалке "Здесь какое-то сообщение')
SW_show);
sleep (100)
end;

(все события привязаны к одной кнопке)
Задумал я значит его перенести на ВБ.
Попросив помощи у Рамзеса, у меня появился вот такой код (ВБ)
Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
Timer1.Interval = 100
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
Shell "Net Send 127.0.0.1", vbHide
End Sub

(код Рамзеса)
на форме только таймер и кнопка.
задумал я все это добро модифицировать и добавить туда пару текстбоксов (1 - для ИП, 2 - интервал посылания...)

цель этой проги засыпать какой-нить ИП в локалке месагами через функцию Виндовс - netsend.
Но код рамзеса не работает, код который у меня получился после доработки Рамзесова - тем более.

И вот вопрос:
подскажите как вызвать фунцию netsend через ВБ и помогите плз модифицировать прогу.
заранее спасибо.
Пошли все на фиг, я фея! :flower:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 14.08.2005 (Вс) 15:22

Код: Выделить всё
Option Explicit

Private Declare Function WinExec Lib "kernel32.dll" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const SW_SHOW As Long = 5

Private Sub Form_Load()
    Do While True
        Call WinExec("То же, что и в Delphi", SW_SHOW)
        Call Sleep(100)
    Loop
End Sub
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 14.08.2005 (Вс) 15:44

2 BV.
Код: Выделить всё
Option Explicit

Private Declare Function WinExec Lib "kernel32.dll" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const SW_SHOW As Long = 5

Private Sub Form_Load()
    Do While True
        Call WinExec("netsend 127.0.0.1 messadge", SW_SHOW)
        Call Sleep(100)
    Loop
End Sub

после работы сего у меня завис ВБ и никаких Нетсендов не высветилось...
может что-то не так? :?
Пошли все на фиг, я фея! :flower:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 14.08.2005 (Вс) 16:05

Полагаю, что Net Send.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 14.08.2005 (Вс) 16:12

да, да, да...
спасибо.
вот так все работает, но засыпать себя мессагами не получилось -
"не удалось найти псевдоним сообщений в сети"
но окна ДОСа вылезали с такой переодичностью, что ВБ виснет на фиг... :D
ура, сетка в нашем УПК теперь уйдет в даун!! (наверное...)
еще раз спасибо

Но вопросы остались:
1 - когда экран заваливает Нет Сендами, то вместо слова "messadge"
высвечивается Net Send.
что делать в этом случае?
Пошли все на фиг, я фея! :flower:

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 15.08.2005 (Пн) 14:57

FleX_2004
а связаться с ним как?
батник у меня есть, но он только для меня и используется...
я просто добавил в прогу текстбокса код получился такой:
Код: Выделить всё
Option Explicit

Private Declare Function WinExec Lib "kernel32.dll" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const SW_SHOW As Long = 5

Private Sub Form_Load()
    Do While True
        Call WinExec("netsend +Text.Text+ +Text2.text+", SW_SHOW) 'тут ИП и мессагу вводим в текстбоксе
        Call Sleep(+text3.text+) 'а тут интервал из текстбокса беру.
    Loop
End Sub

поправте если в коде ошибку допустил.
Пошли все на фиг, я фея! :flower:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.08.2005 (Пн) 14:59

Блин, ну есть же NetMessageBufferSend.
Lasciate ogni speranza, voi ch'entrate.

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 15.08.2005 (Пн) 15:15

alibek
а по подробней? у меня MSDN нет, а в английском я не шарю ваще, так что microsoft.com/msdn - не предлагать :)
а если серьезно, то что не так?
кодга код был вот таким:
Код: Выделить всё
Option Explicit

Private Declare Function WinExec Lib "kernel32.dll" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const SW_SHOW As Long = 5

Private Sub Form_Load()
    Do While True
        Call WinExec("net send 127.0.0.1 messadge", SW_SHOW)
        Call Sleep(100)
    Loop
End Sub

то на экран выбрасыалось сообщение от ДОСа что нельзя приконнектиться к данному ИП (у меня нет локалки), а когда я в код добавил текстбоксы, то у меня выскакивают окна ДОСа с сообщением:
"net send
сиетаксис данной команды:
net send user |domian| messadge"
вот что-то в этом роде.
Пошли все на фиг, я фея! :flower:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.08.2005 (Пн) 15:43

Если не знаешь английский, то учи.
А пока будешь учить, ходи сюда: http://msdn.microsoft.com/library/defau ... ersend.asp
И а API-Guide посмотри.
Lasciate ogni speranza, voi ch'entrate.

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 15.08.2005 (Пн) 16:06

ни фига не понял, по вышесказанной причине.
но,alibek, ты мне только одно скажи - можно использовать
чистую команду NetMessadgeBufferSend вместо Net Send?
Или она требует каких то подключений?
Пошли все на фиг, я фея! :flower:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.08.2005 (Пн) 16:15

В API-Guide есть готовый код, смотри там.
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 15.08.2005 (Пн) 16:15

тебе alibek уже сказал на что равняться надо, а то вообще из строя выгоним :lol:

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 15.08.2005 (Пн) 16:32

alibek
а где достать этот АПИ-гид? :oops:
первый раз о таком слышу
Пошли все на фиг, я фея! :flower:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 15.08.2005 (Пн) 16:36

:shock:
Теперь точно выгонят :)

Лови ссылку, пока никто не видел: http://www.allapi.net, там найдёшь.

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 15.08.2005 (Пн) 17:02

а нет, уже гдето слышал... :lol:
2 Amed спасибо за ссылку
Пошли все на фиг, я фея! :flower:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 124

    TopList