Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - Net send в Windows 7 / Vista

Ответить
Настройки темы
Разное - Net send в Windows 7 / Vista

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Изменения
Автор: Delirium
Дата: 11-11-2011
Описание: Обновлено до версии 11112011
Проблема, озвученная в шапке темы, довольно актуальна для многих пользователей. Т.к. данная опция отключена в Windows Vista/Seven, то отправлять широковещательные сообщения сейчас нельзя.
В ходе написания программы по документообороту мне стало необходимо придумать способ оповещения клиентов о новых сообщениях/документах.
В итоге родилась программка netsend7, работающая по протоколу UDP 9050, которая рассылает сообщения по сети несколькими способами:
1. Всем пользователям, у которых запущена программка
2. Только тем пользователям, у которых запущена определенная программа (например, 1С).
3. На указанный компьютер.
4. Указанному пользователю.
5. Группе пользователей.

Программа запускается и висит в трее, кушать не просит . При появлении нового сообщения вылетает окно с текстом сообщения. Скрывается окно по кнопке Esc или скрыть. При наведении на основные поля выводится подсказка с описанием.

Также работает и на Windows XP.
Для корректной работы под Win 7 при запуске программы происходит запрос на повышение прав UAC. Это необходимо для того, чтобы Firewall смог создать разрешающее правило для данного приложения.



P.S. Для работы необходим .Net FrameWork 2.0

Последние версии программы доступны по адресам http://firsov.ucoz.ru/load/netsend7/1-1-0-3 или http://soft.oszone.net/program/11545/NetSend7.html

P.S. Обновил версию. Список изменений в архиве, файл changes.txt.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:47, 14-12-2010

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата volk1234:
Сделать так чтобы программа работала как служба »
Цитата Delirium:
Чувствую не за горами время, когда появится пожелание поставить серверную часть службой и клиентов с сохранением всех логов где нибудь на sql. »
гыыыы

Ок, сейчас сяду подкорректирую эти недочетики.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:06, 18-11-2011 | #41



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Обновление. Версия 18112011.
Изменения:
1. Убран в заголовке текст о версии и БД (перенесено в "О программе").
2. Добавлен поиск по списку станций. Для поиска просто вводим первую букву имени станции.
3. В меню "О программе" добавлены 2 опции - автопрокрутка и отображение в трее.
4. Текст сообщения очищается после отправки.
5. Сделана автопрокрутка лога сообщений.
6. Добавлена справка о работе с программой
7. Немного изменен внешний вид для "красивости"

Проверяйте

По поводу неисчезания иконки.
Если ОС Win 7 - C:\Users\Имя\AppData\Local\NetSend7 - удаляем эту папку и при посл. старте все настройки обнулятся. Выставь в программе False и должно заработать. Это связано с тем, что я не увеличивал билд программы, и новые обновления не затирали старые. Версия 18112011 выставлена как 2.0 (версия файла), поэтому теоретически все старые данные не должны будут уже учитываться, но на всякий случай можно удалить.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:58, 18-11-2011 | #42


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Осталось теперь только одна вечная задача - оптимизация кода
Поскольку программа в состоянии покоя занимает места в памяти места почти столько же сколько Скайп и в 3 раза больше места чем Pandion клиент.
Осмелюсь напомнить себе и Delirium основная задача программки - сервисные сообщения. Все навороты только для удобства пользования, и от них теоретически можно отказаться.
Поэтому хотелось бы следующего

1. Маленький размер (как на диске, так и в памяти), нигде ее не видно у пользователя...

2. Простейший интерфейс, не отвлекающий внимание

3. Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!!

4. Вопрос: Для чего служит кнопка обновить??

4.5 Так как невозможно предсказать длинну сообщения, предлагаю осуществлять вывод текста на экран и в лог осуществлять следующим образом:
Отправитель, дата,время [перевод строки] сообщение.

5. Рассмотреть возможность: у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ:


Т.е. в конф файле должна быть настрока: GUI_Rights= 1(только окно сообщения без возможности ответить и просмотреть список адресатов) =2 (с возможностью нажав кнопку развернуть интефейс отправки сообщений и выбора адресатов, (который внизу)), =3 (отправить только ответ на текущее сообщение, т.е. маленькое поле для ответа и кнопка ответить), =0 (полный интерфейс)

))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))

Зы. в новой версии кнопка открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми

Зы2. Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе

-------

Ю-ху!


Последний раз редактировалось volk1234, 18-11-2011 в 11:32.


Отправлено: 11:16, 18-11-2011 | #43


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Текст скрипта приведенный в справке будет постоянно затирать существующую программу, может лучше так:

Код: Выделить весь код
@Echo OFF 

If not exist %windir%\temp\netsend7 (
md %windir%\temp\netsend7
copy \\server\distrib\netsend7\*.* %windir%\temp\netsend7\ /Y
cd %windir%\temp\netsend7
start %windir%\temp\netsend7\netsend7.exe
)Else(
start %windir%\temp\netsend7\netsend7.exe
)
А вообще проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету.

-------

Ю-ху!


Отправлено: 11:43, 18-11-2011 | #44


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата volk1234:
Маленький размер (как на диске »
800 кб не так уж и много
Цитата volk1234:
так и в памяти »
С этим тяжелее, учитывая что я память как таковую не использую для работы, я имею в виду, что в программе отсутствуют какие либо массивы, хранящиеся в оперативке, равно как и соединения с БД открываются только по мере необходимости и закрываются сразу же.

Вообще, большой объем занимаемой памяти от того, что данное приложения является как бы и клиентом и сервером одновременно. Ей же приходится и клиентов мониторить, и сообщения распарсивать и т.д. и т.п. Почему скайп и прочие так мало места в памяти кушают? Да потому, что это обыкновенный GUI клиент, вся задача которого - получить сообщение, которое уже предварительно распарсено на сервере и отсечено лишнее. Так же и отправка сообщения - оно отправляется в полет, а дальше уже дело сервера.

Одновременно со всем этим накладывает свои ограничения и недостатки технология .Net FrameWork.
Я постараюсь пересмотреть логику работы, может и получится что нибудь оптимизировать.


Цитата volk1234:
нигде ее не видно у пользователя... »
Ну для этого надо скрывать иконку в трее + пихать ее в автозагрузку всем пользователям. Или имеется в виду скрытие ее даже в диспетчере задач?

Цитата volk1234:
Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!! »
А вот это интересная фича, я посмотрю, как это реализовывается.

Цитата volk1234:
Для чего служит кнопка обновить?? »
После запуска программы в списке справа отображаются станции в группе ВСЕ. Т.к. опрос идет постоянно, то возможно появление новых записей. Но сами по себе они не появятся, для этого и нужна кнопка "Обновить".

Цитата volk1234:
Отправитель, дата,время [перевод строки] сообщение. »
Это без проблем, 20 секунд делов.

Цитата volk1234:
у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ »
Это тоже легко и просто реализуемо, если считаете, что такая фишка нужна, можно и сделать. Но опять же не стоит забывать о основной задаче программы

Цитата volk1234:
открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми »
Да не может этого быть, старая стрелка была просто знаком <,> в виде текста на кнопке, а новая - PNG файлы. Можно скрин увидеть?

Цитата volk1234:
Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе »
Без проблем, сделаем.
Цитата volk1234:
может лучше так: »
Может и лучше, я в BAT скриптах вообще не силен, то что я привел - мой максимум
Цитата volk1234:
проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету »
Но для начала проверки программе же надо себя откуда то и как то запуститься хотя бы первый раз?

А в целом справка понятная получилась? Или мой первый опыт вышел как блин - комом?

volk1234, вот ты зрячий. Сейчас дома скачал, присмотрелся - и правда откуда то знак > просвечивает Поправлю обязательно )

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 15:39, 18-11-2011 | #45


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата volk1234:
Текст скрипта приведенный в справке будет постоянно затирать существующую программу »
В этом есть плюс - мне достаточно на сервере обновить программу и на след. день все пользователи запустят уже обновленную версию. Это проще, чем писать инсталлятор либо вшивать в программу проверку версий.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 16:03, 18-11-2011 | #46


(*.*)


Сообщения: 36496
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Программу надо перепаковать в ZIP. RAR не нужен в каталоге.

И кстати, при запуске на чистой установке 7 SP1 со всеми обновления вылетает ошибка, но продолжить работу можно.

Код: Выделить весь код
Подробная информация об использовании оперативной 
(JIT) отладки вместо данного диалогового 
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.InvalidOperationException: Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
   в System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
   в System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   в System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   в System.Data.OleDb.OleDbConnection.Open()
   в NetSend7.baseDataSetTableAdapters.ГруппыTableAdapter.КодГрВсе()
   в NetSend7.MainFrm.MainFrm_Load(Object sender, EventArgs e)
   в System.Windows.Forms.Form.OnLoad(EventArgs e)
   в System.Windows.Forms.Form.OnCreateControl()
   в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   в System.Windows.Forms.Control.CreateControl()
   в System.Windows.Forms.Control.WmShowWindow(Message& m)
   в System.Windows.Forms.Control.WndProc(Message& m)
   в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   в System.Windows.Forms.ContainerControl.WndProc(Message& m)
   в System.Windows.Forms.Form.WmShowWindow(Message& m)
   в System.Windows.Forms.Form.WndProc(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
NetSend7
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.0.0
    CodeBase: file:///C:/netsend7/NetSend7.exe
----------------------------------------
System.Windows.Forms
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Windows.Forms.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Transactions
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Data.resources
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Data.resources/2.0.0.0_ru_b77a5c561934e089/System.Data.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 21:32, 26-11-2011 | #47


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата:
Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
Это моя ошибка, я ее озвучивал выше. Ошибка связана с тем, что программа использует DB Access 2007 (db.accdb), а в системе по умолчанию нет этого провайдера данных. Надо установить примочку от MS (http://www.microsoft.com/download/en...ng=en&id=23734 ). Я переделаю, наверное, программу, под использование старой версии Access, чтобы не вылетало это исключение.

Цитата Vadikan:
Программу надо перепаковать в ZIP. RAR не нужен в каталоге. »
Ок, перепакую завтра.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:45, 27-11-2011 | #48


(*.*)


Сообщения: 36496
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Delirium, если нужны дополнительные компоненты, нбх указывать это в описании программы.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:17, 27-11-2011 | #49


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Delirium
А когда ждать новой версии

-------

Ю-ху!


Отправлено: 00:40, 29-11-2011 | #50



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - Net send в Windows 7 / Vista

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Net send или Mail Send SH Admin Microsoft Windows NT/2000/2003 3 01-02-2010 21:02
Службы - Net Send Bullet-Avalon Microsoft Windows 2000/XP 0 02-10-2008 10:59
Службы - net send GuseV Microsoft Windows 2000/XP 7 26-07-2007 11:22
[решено] Отключение команды Net Send в одноранговой сети Windows 2000 YDen Microsoft Windows NT/2000/2003 1 30-09-2005 23:19
NET SEND в Windows 98 Modenov Microsoft Windows 95/98/Me (архив) 9 22-09-2004 10:04




 
Переход