14.11.2008, 01:17 | #21 |
Участник
|
Цитата:
через сиквел удалять наверное не стоит, если кроме вас кто-то ведет в базе разработку - неизвестно каких сифтов могли наопределять в таблице. |
|
14.11.2008, 08:16 | #22 |
Участник
|
На самом деле, не обязательно использовать 37-ю или 39-ю таблицу, а сделать "специальную". Зацикливание происходит здесь:
[codebox] SalesLine2.RESET; SalesLine2.SETRANGE("Document Type","Document Type"); SalesLine2.SETRANGE("Document No.","Document No."); SalesLine2.SETRANGE("Attached to Line No.","Line No."); SalesLine2.DELETEALL(TRUE);[/codebox] Возникает обычное переполнение стека. |
|
29.12.2008, 13:46 | #23 |
Участник
|
Расскажу как я извращался на эту тему.
При логине запоминал в табличку данные о пользователе. Код: UserName:=recSession."Код пользователя"; WindowsLogin:=WshNet.UserName; ComputerName:=WshNet.ComputerName; SesID:=recSession."Соединение ID"; Ban:=FALSE; Который считывал данные о клиенской машине и ждал появления определённой строчки в файле в расшаренной директории. И если встречал знакомые строчки то убивал процесс. |
|
29.12.2008, 13:56 | #24 |
Участник
|
вот троян
Код: Option Explicit Const DirrectoryName = "D:\Session_Control\" Const TimerInterval = 10000 Const cmdLogOff = "shutdown /l" 'Узнаю имя пользователя Dim objNetwork, username Set objNetwork = CreateObject("WScript.Network") UserName = objNetwork.UserName do call Test_Exit() WScript.Sleep TimerInterval loop Sub Test_Exit() Dim fso, f, BanUser Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set fso = CreateObject("Scripting.FileSystemObject") 'Читаю Бан лист Set f = fso.OpenTextFile(DirrectoryName&"Ban.txt", ForReading, True) While not f.AtEndOfStream BanUser = f.ReadLine() if BanUser = UserName then 'MsgBox "Он" call Finish_Session() else 'MsgBox "Не он " & BanUser end if wend f.Close ' Set f = fso.OpenTextFile(DirrectoryName&"log.txt", ForAppending, True) ' f.WriteLine UserName ' f.Close End Sub sub Finish_Session() ' Имя: LogOff.vbs ' Язык: VBScript ' Описание: Завершение сеанса пользователя '******************************************************************* 'Option Explicit ' Объявляем переменные Dim strComputer ' Имя компьютера Dim strNamespace ' Имя пространства имен Dim strClass ' Имя класса Dim objClass ' Объект SWbemObject (класс WMI) Dim colInstances ' Коллекция экземпляров класса WMI Dim objInstance ' Элемент коллекции Dim fso, f Dim sh 'Командная строка Const ForReading = 1, ForWriting = 2, ForAppending = 8 '********************** Начало ************************************* ' Присваиваем начальные значения переменным strComputer = "." strNamespace = "Root\CIMV2" strClass = "Win32_OperatingSystem" ' Получаем указатель на класс WMI Set objClass = GetObject("WinMgmts:\\" & strComputer & _ "\" & strNamespace & ":" & strClass) ' Создаем коллекцию экземпляров класса Win32_OperatingSystem Set colInstances = objClass.Instances_ ' Перебираем элементы коллекции For Each objInstance In colInstances ' Выводим на экран предупреждение 'WScript.Echo "На компьютере " & objInstance.CSNAME & VbCrLf &_ ' "сеанс текущего пользователя будет завершен " ' Для каждого экземпляра вызываем метод Win32Shutdown Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(DirrectoryName&"log.txt", ForAppending, True) f.WriteLine "На компьютере " & objInstance.CSNAME & VbCrLf &_ "сеанс пользователя " & UserName &" завершен " f.Close 'objInstance.Win32Shutdown(0) set sh = CreateObject("WScript.Shell") sh.Run cmdLogOff Next end sub |
|
11.03.2009, 14:51 | #25 |
Участник
|
Вот еще способ закрыть нав.
Старею, простите за повтор. |
|
27.05.2009, 14:35 | #26 |
Участник
|
|
|
04.10.2010, 15:48 | #27 |
Участник
|
Пожалуй найден еще один способ закрытия Navision.
Создаете новую форму с названием closenav. Ставите свойство MaximizedOnOpen = Да, и код на Form - OnOpenForm() SHELL (text1,'/F /FI "WINDOWTITLE eq ' + COMPANYNAME + ' - Microsoft Dynamics NAV - [closenav]"'); , где text1 путь к папке system32\, чтобы нав не задавал лишних вопросов. |
|
04.10.2010, 21:28 | #28 |
Участник
|
Цитата:
Сообщение от Dadakhan
Пожалуй найден еще один способ закрытия Navision.
Создаете новую форму с названием closenav. Ставите свойство MaximizedOnOpen = Да, и код на Form - OnOpenForm() SHELL (text1,'/F /FI "WINDOWTITLE eq ' + COMPANYNAME + ' - Microsoft Dynamics NAV - [closenav]"'); , где text1 путь к папке system32\, чтобы нав не задавал лишних вопросов. , где text1 путь к папке system32\taskkill.exe |
|