Показать полную графическую версию : Net send в Windows 7 / Vista
Delirium
18-11-2011, 01:06
Сделать так чтобы программа работала как служба »
Чувствую не за горами время, когда появится пожелание поставить серверную часть службой и клиентов с сохранением всех логов где нибудь на sql. »
гыыыы :)
Ок, сейчас сяду подкорректирую эти недочетики. :)
Delirium
18-11-2011, 08:58
Обновление. Версия 18112011.
Изменения:
1. Убран в заголовке текст о версии и БД (перенесено в "О программе").
2. Добавлен поиск по списку станций. Для поиска просто вводим первую букву имени станции.
3. В меню "О программе" добавлены 2 опции - автопрокрутка и отображение в трее.
4. Текст сообщения очищается после отправки.
5. Сделана автопрокрутка лога сообщений.
6. Добавлена справка о работе с программой :)
7. Немного изменен внешний вид для "красивости" :)
Проверяйте :)
По поводу неисчезания иконки.
Если ОС Win 7 - C:\Users\Имя\AppData\Local\NetSend7 - удаляем эту папку и при посл. старте все настройки обнулятся. Выставь в программе False и должно заработать. Это связано с тем, что я не увеличивал билд программы, и новые обновления не затирали старые. Версия 18112011 выставлена как 2.0 (версия файла), поэтому теоретически все старые данные не должны будут уже учитываться, но на всякий случай можно удалить.
volk1234
18-11-2011, 11:16
Осталось теперь только одна вечная задача - оптимизация кода :)
Поскольку программа в состоянии покоя занимает места в памяти места почти столько же сколько Скайп и в 3 раза больше места чем Pandion клиент.
Осмелюсь напомнить себе и Delirium основная задача программки - сервисные сообщения. Все навороты только для удобства пользования, и от них теоретически можно отказаться.
Поэтому хотелось бы следующего
1. Маленький размер (как на диске, так и в памяти), нигде ее не видно у пользователя...
2. Простейший интерфейс, не отвлекающий внимание
3. Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!!
4. Вопрос: Для чего служит кнопка обновить?? :)
4.5 Так как невозможно предсказать длинну сообщения, предлагаю осуществлять вывод текста на экран и в лог осуществлять следующим образом:
Отправитель, дата,время [перевод строки] сообщение.
5. Рассмотреть возможность: у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ:
http://wiki.oszone.net/images/2/28/WE42.PNG
Т.е. в конф файле должна быть настрока: GUI_Rights= 1(только окно сообщения без возможности ответить и просмотреть список адресатов) =2 (с возможностью нажав кнопку развернуть интефейс отправки сообщений и выбора адресатов, (который внизу)), =3 (отправить только ответ на текущее сообщение, т.е. маленькое поле для ответа и кнопка ответить), =0 (полный интерфейс)
:)))))))))))))))))))))))))))))))))))))) :)))))))))))))))))))))))))))))))))))
Зы. в новой версии кнопка открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми :)
Зы2. Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе :)
volk1234
18-11-2011, 11:43
Текст скрипта приведенный в справке будет постоянно затирать существующую программу, может лучше так:
@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
)
А вообще проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету.
Delirium
18-11-2011, 15:39
Маленький размер (как на диске »
800 кб не так уж и много :)
так и в памяти »
С этим тяжелее, учитывая что я память как таковую не использую для работы, я имею в виду, что в программе отсутствуют какие либо массивы, хранящиеся в оперативке, равно как и соединения с БД открываются только по мере необходимости и закрываются сразу же.
Вообще, большой объем занимаемой памяти от того, что данное приложения является как бы и клиентом и сервером одновременно. Ей же приходится и клиентов мониторить, и сообщения распарсивать и т.д. и т.п. Почему скайп и прочие так мало места в памяти кушают? Да потому, что это обыкновенный GUI клиент, вся задача которого - получить сообщение, которое уже предварительно распарсено на сервере и отсечено лишнее. Так же и отправка сообщения - оно отправляется в полет, а дальше уже дело сервера.
Одновременно со всем этим накладывает свои ограничения и недостатки технология .Net FrameWork.
Я постараюсь пересмотреть логику работы, может и получится что нибудь оптимизировать.
нигде ее не видно у пользователя... »
Ну для этого надо скрывать иконку в трее + пихать ее в автозагрузку всем пользователям. Или имеется в виду скрытие ее даже в диспетчере задач? :)
Возможность набирать сообщение по горячей клавише, ну и\или хотябы из командной строки net2send * Vyiti iz 1C !!! »
А вот это интересная фича, я посмотрю, как это реализовывается.
Для чего служит кнопка обновить?? »
После запуска программы в списке справа отображаются станции в группе ВСЕ. Т.к. опрос идет постоянно, то возможно появление новых записей. Но сами по себе они не появятся, для этого и нужна кнопка "Обновить".
Отправитель, дата,время [перевод строки] сообщение. »
Это без проблем, 20 секунд делов.
у большинства пользователей должно выводиться только сообщение БЕЗ ИНТЕРФЕЙСА УПРАВЛЕНИЯ »
Это тоже легко и просто реализуемо, если считаете, что такая фишка нужна, можно и сделать. Но опять же не стоит забывать о основной задаче программы :)
открывающая список выглядит получше, но позорно просвечивается старая стрелочка под новыми »
Да не может этого быть, старая стрелка была просто знаком <,> в виде текста на кнопке, а новая - PNG файлы. Можно скрин увидеть? :)
Для справки слишком жирно отдельной кнопки, предлагаю перенести ссылку на справку в окно о программе »
Без проблем, сделаем.
может лучше так: »
Может и лучше, я в BAT скриптах вообще не силен, то что я привел - мой максимум :)
проще добавить в программу проверку на присутствие в автозапуске и добавления себя туда ежели нету »
Но для начала проверки программе же надо себя откуда то и как то запуститься хотя бы первый раз? :)
А в целом справка понятная получилась? Или мой первый опыт вышел как блин - комом? :)
volk1234, вот ты зрячий. Сейчас дома скачал, присмотрелся - и правда откуда то знак > просвечивает :) Поправлю обязательно )
Delirium
18-11-2011, 16:03
Текст скрипта приведенный в справке будет постоянно затирать существующую программу »
В этом есть плюс - мне достаточно на сервере обновить программу и на след. день все пользователи запустят уже обновленную версию. Это проще, чем писать инсталлятор либо вшивать в программу проверку версий.
Программу надо перепаковать в 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, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
Delirium
27-11-2011, 11:45
Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
Это моя ошибка, я ее озвучивал выше. Ошибка связана с тем, что программа использует DB Access 2007 (db.accdb), а в системе по умолчанию нет этого провайдера данных. Надо установить примочку от MS (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23734 ). Я переделаю, наверное, программу, под использование старой версии Access, чтобы не вылетало это исключение.
Программу надо перепаковать в ZIP. RAR не нужен в каталоге. »
Ок, перепакую завтра.
Delirium, если нужны дополнительные компоненты, нбх указывать это в описании программы.
volk1234
29-11-2011, 00:40
Delirium
А когда ждать новой версии
Delirium
29-11-2011, 01:23
volk1234, меня, к сожалению, загрузили сильно сейчас основной задачей, как только освобожусь, сразу допишу.
Не могли бы вы объяснить нубу по поводу этой программки такой момент:
у мну 7-ка 64, все остальные машинки в локальной сети XP-шные, эту программу следует устанавливать на каждой рабочей станции? Если нет, то каков принцип действия последней?
Спасибо.
volk1234
29-03-2012, 18:57
Delirium
Может у Вас появилось время доработать програмку?
Delirium
02-04-2012, 02:33
Упуат, ставить на каждую машину. Точнее даже не ставить а копировать в любую папку и кидать в автозагрузку. Все действия описаны вышы.
volk1234, времени пока увы, но не появилось. Сейчас пишу корпоративный телефонный справочник для предприятия на основе Active Directory + Oracle. Занимает все время :)
Михаил_Королев@vk
03-04-2012, 06:26
В программе нужно сделать упрощённый режим. Кажется, кто-то говорил уже об этом. Т.е. нужно, чтобы выводилось просто сообщение с кнопкой ОК. Ну максимум, с редактируемым текстовым полем и кнопкой Ответить. Причём выводить сообщение нужно поверх экрана. Честно, устал искать что-то подобное для Server 2008 :(...
Если времени не хватает, может, стоит выложить софтину на GitHub?
Delirium
03-04-2012, 07:17
Если времени не хватает, может, стоит выложить софтину на GitHub? »
Если есть желание, ради бога, исходники предоставлю.
Михаил_Королев@vk
03-04-2012, 13:40
Есть :) На чем написано?
А выложите пожалуйста куда-нибудь исходники, есть мысли по доработке программы:)
Delirium
18-04-2012, 01:08
Исходники выкладываю. Пожелание одно - не надо делать из нее shareware :) Ну и желательно сохранить сноски на oszone.net.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC