powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отправка сообщений по локальной сети
33 сообщений из 33, показаны все 2 страниц
Отправка сообщений по локальной сети
    #39224678
Есть таблица с именами компьютеров в локальной сети, нужно отправить выбранным сообщение.
Пытаюсь командой msg

...
soob = "Это тест!"
stName = "cmd /c msg * /server: имя_компьютера """ & soob & """"

i = ExecCmd(stName)
If i <> 0 Then '
MsgBox "Произошла ошибка при выполнении команды:" & vbCrLf & _
stName, vbCritical, "Внешнее приложение"
End If
...

Получаю ошибку, i=1

Процедуру ExecCmd взяла здесь на форуме, уже успешно ею пользовалась для запуска приложений,
а как запустить для msg не могу сообразить
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224757
Попробовала еще так:

Set objShell = CreateObject("WScript.Shell")

i = objShell.Run("cmd /c msg * /server test", vbHide, True)

If i = 0 Then
MsgBox True
Else
MsgBox False
End If


Получаю False, сообщение не приходит.
Может есть какой-то работающий способ отправлять сообщения?
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224764
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да Вы сперва хотя бы из командной строки сообщение отправьте, ё моё...
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224809
Akina, из командной строки прекрасно отправляются все буквы алфавита, в том числе ваше ё.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224869
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛесноеОзероиз командной строки прекрасно отправляютсяВот именно такой командной строкой, что в коде показано? не верю! За параметрами следите... пробелы лишние не напихивайте - и будет Вам счастье...
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224903
Akina, да, именно такой командной строкой.

Про "лишние пробелы" поподробнее, вы говорите загадками.
Хотелось бы обещанного счастья, особенно если для этого достаточно сократить количество пробелов.

Если не затруднит, можете привести пример работающего кода, отправляющего сообщения на компьютер в сети?
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224911
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛесноеОзероПро "лишние пробелы" поподробнее, вы говорите загадками.
Посмотрите код в первом своём сообщении. Вторая строка. Цитирую, обернув тегом "SRC":
Код: vbnet
1.
2.
soob = "Это тест!"
stName = "cmd /c msg * /server: имя_компьютера """ & soob & """"


Там между двоеточием и символом "и" присутствует пробел - видите его? А его там быть не должно.
А в коде во втором сообщении Вы вообще сервер не указали.

ЛесноеОзерода, именно такой командной строкой.
В следующий раз после проверки в командной строке не пальцами набирайте код, а копипастите из окна компроцессора. Меньше шанс накосячить...
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224952
Akina, даже если вставить 10 пробелов после двоеточия перед именем компьютера, у меня все равно работает из командной строки. Что я делаю не так? А server без имени означает послать самому себе, попробуйте. А по существу вопроса ничего?
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224976
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛесноеОзеро,
у меня так работает :)
Код: vbnet
1.
2.
3.
4.
5.
Public Function fff()
soob = "Это тест!"
stName = "cmd /c msg * """ & soob & """"
i = Shell(stName)
End Function
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39224993
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛесноеОзеродаже если вставить 10 пробелов после двоеточия перед именем компьютера, у меня все равно работает из командной строки. Что я делаю не так?
Да неправду говорите, вот что.
Если вставить хотя бы один пробел - то имя_компьютера будет интерпретировано не как имя компьютера назначения, а как начальные символы пересылаемого сообщения.

ЛесноеОзероserver без имени означает послать самому себе, попробуйте
Мне даже пробовать не надо - если указать, как во втором посте, просто server, без двоеточия, то msg запросит строку сообщения с консоли, после чего уйдёт в глубокий даун, который закончится сообщением типа "Ошибка 1707 при получении имен сеанса"...

Так что по существу вопроса могу сообщить лишь одно - все Ваши проблемы от неаккуратности.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225001
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот первый вариант:
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225002
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот второй:
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225011
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaИ вот второй:
Попробуйте test взять в кавычки. :)
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225015
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Легко... вот только не влияет.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225020
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня вот так:
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225025
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты тоже внимательностью явно не страдаешь. После звёздочки отсутствует пробел, посему значение */server было воспринято как имя сеанса, а все символы в нём после звёздочки игнорируются.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225275
guest_rusimportЛесноеОзеро,
у меня так работает :)
Код: vbnet
1.
2.
3.
4.
5.
Public Function fff()
soob = "Это тест!"
stName = "cmd /c msg * """ & soob & """"
i = Shell(stName)
End Function



Пробовала вчера для понимания происходящего и вашу stName, и даже такую, еще проще
Код: vbnet
1.
2.
stName = "cmd /c msg * 12345"
i = Shell(stName)



и с кавычками, перед ""12345"

... и никак, не работает :(
Уже не доверяя себе, сегодня скопировала ваш вариант - не работает. Окно access конвульсивно дергается, вроде как реагирует на вызов, и ничего не выводится на экран.
Ну, почему??? Access 2010, Windows 7 Pro 64 ... у меня.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225289
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для обмена сообщениями необходимо разрешить службу MSG, поскольку по умолчанию она выключена. Для включения надо в каждом ПК который может/должен принимать сообщения внести изменения в реестр Windows, изменив параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\AllowRemoteRPC на 1 . А потом перезагрузить БД для включения MSG.

Возможно в 64-битной системе иной адрес в реестре.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225290
Akina,
на данном этапе я была согласна на любую интерпретацию параметров msg - хоть что-то на экране получить, посланное из процедуры, пусть даже не такое, как ожидалось, было бы положительным результатом. Поэтому, по прежнему не понятно, отчего из командной строки сообщение приходит, а оно же скопированное в процедуру, нет. Даже совсем упрощенный вариант, в котором нет шансов проявить невнимательность "msg * 12345" не срабатывает.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225336
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, да чем вы там код набираете?
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225367
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А меня так:
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225375
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv , проверьте, доступен ли msg.exe (установки PATH, права). Попробуйте указать полный путь с расширением.
Ошибка времени исполнения 53 - это именно "файл не найден", т.е. либо его нет по путям, указанным в PATH (исходно он лежит в %WINDIR%\System32), либо недостаточно прав для его обнаружения в каталоге, либо он подменён (возможно, вышележащим по PATH одноимённым файлом) и пытается запустить дочерний процесс, а его модуль отсутствует по аналогичным причинам ("родной" msg.exe дочерних модулей не загружает).
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225392
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msg.exe на месте. И из командной строки работает нормально. Не хочет именно из кода.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225398
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда запустите вот в таком виде:
Код: vbnet
1.
Shell "cmd.exe /k c:\windows\system32\msg.exe * /server: test message", vbNormalFocus


и посмотрите, что показывается в окне компроцессора. Из него же пробуйте запуск без указания пути и ищите источник проблемы.
Если у Вас другой путь в каталог системы - внесите соотв. корректировку.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225401
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретически возможно, что UAC запрещает запуск дочернего процесса. Или проблема в иных настройках ОС.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225403
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или антивирус...
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225434
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaТогда запустите вот в таком виде
Запустил, исправив cmd на msg, тоже самое. Пробую на двух компах, на обоих W7-64, А2003.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225454
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nvЗапустил, исправив cmd на msg, тоже самое.
Ну то есть у Вас вообще не стартуют дочерние процессы? notepad попробуйте запустить - уж дубовее вообще трудно чего придумать... и ройте свои настройки - у Вас чисто локальная проблема.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39225464
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nvAkinaТогда запустите вот в таком виде
Запустил, исправив cmd на msg, тоже самое. Пробую на двух компах, на обоих W7-64, А2003.
На всякий случай выключите "песочницу" (sandboxmode), если она у Вас включена. Иногда помогает.
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39226127
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
studieren,

тема интересная, дай думаю попробую у себя
win 7 64
ситуация как и у ТС
решил поискать msg.exe и ...
на диске С их нашлось 2..

попробовал по совету Акина
Код: vbnet
1.
Shell "cmd.exe /k свой адрес\msg.exe * /server: test message", vbNormalFocus


только со своими адресами
в одном случае не прокатило
а вот по адресу - C:\Windows\winsxs\....
сработало из vba
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39226142
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан, тоже получилось! Но пока нашел... Вот такая строка получилась:
Код: vbnet
1.
Shell "cmd.exe /k c:\windows\winsxs\amd64_microsoft-windows-t..commandlinetoolsmqq_31bf3856ad364e35_6.1.7600.16385_none_851e6308c5b62529\msg.exe * /server: test message", vbNormalFocus

...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39226145
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

да да, что то вроде этого
я просто не вставлял эту строку целиком...
...
Рейтинг: 0 / 0
Отправка сообщений по локальной сети
    #39226687
Игортан,
Ура! По пути из winsxs заработало. Даже без cmd:

Shell "c:\Windows\winsxs\.....\msg.exe * /server:.......... test message"

Гений!
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отправка сообщений по локальной сети
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]