0

Получение аргументов командной строки запуска 1С:Предприятие, переменных окружения и другой информации

by Elisy 20. June 2009 10:52

В этом примере описывается методика получения информации на основе использования класса System.Environment, входящего в состав .Net framework.

В .Net framework есть часто используемый класс, предоставляющий информацию о текущем окружении и платформе. Это System.Environment.

Ниже показан пример с использованием внешнего компонента Elisy.NetBridge.dll, который показывает в 1С (7.7/8.0/8.1/8.2) среди прочего следующую информацию:

  • Командную строку вызова 1С и аргументы командной строки;
  • Переменные окружения;
  • Путь к каталогам: текущий, системный и временный;
  • Выключается в данный момент компьютер или нет;
  • Имя пользователя домена и название компьютера;
  • Версию Windows;
  • Имя пользователя;
  • Список логических дисков;

Ниже приведенный листинг скрипта 1С:Предприятие интуитивно понятен и демонстрирует работу со свойствами и методами класса System.Environment.

AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");

Сообщить("Командная строка: " + net.GetStatic("System.Environment", "CommandLine"));

аргументы = net.CallStatic("System.Environment", "GetCommandLineArgs");
Сообщить("Аргументы командной строки: " + net.CallStatic("System.String", "Join", "; ", аргументы));

Сообщить("Текущий каталог: " + net.GetStatic("System.Environment", "CurrentDirectory"));

Сообщить("Код возврата: " + net.GetStatic("System.Environment", "ExitCode"));

Сообщить("Начат процесс выключения компьютера: " + net.GetStatic("System.Environment", "HasShutdownStarted"));

Сообщить("Название компьютера: " + net.GetStatic("System.Environment", "MachineName"));

Сообщить("Версия ОС: " + net.GetStatic("System.Environment", "OSVersion").ToString());

Сообщить("Системный каталог: " + net.GetStatic("System.Environment", "SystemDirectory"));

Сообщить("Число миллисекунд с момента включения компьютера: " + net.GetStatic("System.Environment", "TickCount"));

Сообщить("Имя пользователя домена: " + net.GetStatic("System.Environment", "UserDomainName"));

Сообщить("Процесс запущен в интерактивном пользовательском режиме: " + net.GetStatic("System.Environment", "UserInteractive"));

Сообщить("Имя пользователя: " + net.GetStatic("System.Environment", "UserName"));

Сообщить("Версия CLR: " + net.GetStatic("System.Environment", "Version").ToString());

Сообщить("Памяти выделено процессу: " + net.GetStatic("System.Environment", "WorkingSet"));

запрос = "Системный диск %SystemDrive%, а корневая папка системы %SystemRoot%";
сообщение = net.CallStatic("System.Environment", "ExpandEnvironmentVariables", запрос);
Сообщить("Вызов ExpandEnvironmentVariables: " + сообщение);

Сообщить("Вызов GetEnvironmentVariable: Каталог временных файлов - " + net.CallStatic("System.Environment", "GetEnvironmentVariable", "TEMP"));

Сообщить("Вызов GetEnvironmentVariables: ");
переменныеОкружения = net.CallStatic("System.Environment", "GetEnvironmentVariables");
enumerator = переменныеОкружения.GetEnumerator();
Пока enumerator.MoveNext() Цикл
    Сообщить(enumerator.Key + " = " + enumerator.Value);
КонецЦикла;

диски = net.CallStatic("System.Environment", "GetLogicalDrives");
Сообщить("Логические диски: " + net.CallStatic("System.String", "Join", "; ", диски));

//Начиная с версии Elisy .Net Bridge v.2.2
Сообщить("Вызов GetFolderPath - получение каталога рабочего стола: " + net.CallStatic("System.Environment", "GetFolderPath", net.New("System.Environment+SpecialFolder").DesktopDirectory));
Сообщить("Вызов GetFolderPath - получение каталога ""Мои документы"": " + net.CallStatic("System.Environment", "GetFolderPath", net.New("System.Environment+SpecialFolder").MyDocuments));
Сообщить("Вызов GetFolderPath - получение каталога временных файлов Интернет: " + net.CallStatic("System.Environment", "GetFolderPath", net.New("System.Environment+SpecialFolder").InternetCache));

Powered by BlogEngine.NET 1.6.0.0
Original Design by Laptop Geek, Adapted by onesoft

Indonesia Furniture Handicraft Wholesale Marketplace : Bisnis Online Rahasia Dahsyat Hidup Sukses dan Uang Melimpah : Travelling : Salehdbrent Sgdashhousedotcom : Used Stationary Bikes : Salehdbrent Sgdashhousedotcom : Used Stationary Bikes : Used Stationary Bikes : Travel Jakarta Bandung: Blogger Indonesia Dukung Internet Aman, Sehat & Manfaat : Hosting Murah Indonesia Indositehost.com : Indonesia Furniture Handicraft Wholesale Marketplace