|
|
#21 |
|
Участник
|
Цитата:
через сиквел удалять наверное не стоит, если кроме вас кто-то ведет в базе разработку - неизвестно каких сифтов могли наопределять в таблице. |
|
|
|
|
#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] Возникает обычное переполнение стека. |
|
|
|
|
#23 |
|
Участник
|
Расскажу как я извращался на эту тему.
При логине запоминал в табличку данные о пользователе. Код: UserName:=recSession."Код пользователя"; WindowsLogin:=WshNet.UserName; ComputerName:=WshNet.ComputerName; SesID:=recSession."Соединение ID"; Ban:=FALSE; Который считывал данные о клиенской машине и ждал появления определённой строчки в файле в расшаренной директории. И если встречал знакомые строчки то убивал процесс. |
|
|
|
|
#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 |
|
|
|
|
#25 |
|
Участник
|
Вот еще способ закрыть нав.
Старею, простите за повтор. |
|
|
|
|
#26 |
|
Участник
|
|
|
|
|
|
#27 |
|
Участник
|
Пожалуй найден еще один способ закрытия Navision.
Создаете новую форму с названием closenav. Ставите свойство MaximizedOnOpen = Да, и код на Form - OnOpenForm() SHELL (text1,'/F /FI "WINDOWTITLE eq ' + COMPANYNAME + ' - Microsoft Dynamics NAV - [closenav]"'); , где text1 путь к папке system32\, чтобы нав не задавал лишних вопросов. |
|
|
|
|
#28 |
|
Участник
|
Цитата:
Сообщение от Dadakhan
Пожалуй найден еще один способ закрытия Navision.
Создаете новую форму с названием closenav. Ставите свойство MaximizedOnOpen = Да, и код на Form - OnOpenForm() SHELL (text1,'/F /FI "WINDOWTITLE eq ' + COMPANYNAME + ' - Microsoft Dynamics NAV - [closenav]"'); , где text1 путь к папке system32\, чтобы нав не задавал лишних вопросов. , где text1 путь к папке system32\taskkill.exe |
|
|