mshell.dll

Classes:

Functions:

Index

Common index


Class AppAddonsActivator : Vector

Methods:


AppAddonsActivator::Load(refer any, ...)

param IniFilePath, [SectionPrefix];

Загружает или запускает дополные модули программы перечисленные
в секции '{SectionPrefix}/Addons' файла конфигурации заданного
параметром IniFile. Если параметр SectionPrefix не указан, то будет
просматриваться секция с именем 'Addons'.
Параметр IniFile может быть строкой с путем к файлу конфигурации
или экземпляром класса IniFile.

Class ConvLang

Methods:


Class ConvLangSymbol


Class ConvLangSymbolTable

Methods:


Class CriticalSection : PSync

Methods:


Class DOSShell

#module root.system.shell
The base class for the MShell class, which realize services provided by 
the DOS, Windows 3.1x and Windows 95 operating systems.

Methods:


DOSShell::AddService(refer object String, refer object String)

param path, displayName;

Adds a service module to the operating system.
path		The path to the executable file.
displayName	The module description.
This function modifies the autoexec.bat boot file by adding the 
module as a TSR.

DOSShell::ChangeEnvVar(object String, refer func)

param varName, transFunc;

Changes an environment variable.
varName		The variable name (for instance, Path).
transFunc   	The function that translates the current variable value 
		to a new value.
Comments
The translation function transFunc gets one argument as a string, 
which contains the current environment variable value whose name 
is equal to the varName parameter or EMPTY if such variable does 
not exist. The translation function should return a string, which 
contains new value of the environment variable; Otherwise the 
contents of the environment variable are not changed 
(for instance, the function returns empty value).
This function modifies the autoexec.bat boot file.

Class DirIterator

#module root.system.filesystem
Класс для последовательного перебора файлов и каталогов в выбранном каталоге. 

Methods:


DirIterator::DirIterator(refer object BaseString)

param dirName;

Путь к корневому каталогу.

DirIterator::DirIterator(refer object Dir)

param dir;

Корневой каталог.

Class DirectoryChangeHandler : DirectoryChangeHandlerTemplate

Methods:


Class DirectoryChangeHandlerTemplate

Methods:


Class DirectoryChangeWatcher

Methods:


Class FIND_FILE_DATA

#module root.system.filesystem
Результат поиска файлов в каталоге. Объект данного класса возвращается
методами DirIterator::FindFirst и DirIterator::FindNext.
FileAttributes - атрибуты файла или директории;
	возможные значения :
		#define FILE_ATTRIBUTE_READONLY             0x00000001  
		#define FILE_ATTRIBUTE_HIDDEN               0x00000002  
		#define FILE_ATTRIBUTE_SYSTEM               0x00000004  
		#define FILE_ATTRIBUTE_DIRECTORY            0x00000010  
		#define FILE_ATTRIBUTE_ARCHIVE              0x00000020  
		#define FILE_ATTRIBUTE_ENCRYPTED            0x00000040  
		#define FILE_ATTRIBUTE_NORMAL               0x00000080  
		#define FILE_ATTRIBUTE_TEMPORARY            0x00000100  
		#define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  
		#define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  
		#define FILE_ATTRIBUTE_COMPRESSED           0x00000800  
		#define FILE_ATTRIBUTE_OFFLINE              0x00001000  
		#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  
CreationTime 	- время создания файла или директории;
LastAccessTime 	- время последнего обращения к файлу или директории;
LastWriteTime 	- время последнего изменения;
FileSizeHigh	- старшие два слова размера файла в байтах [ SIZE = FileSizeLow + FileSizeHigh * (0xFFFFFFFF + 1) ];
FileSizeLow		- младшие два слова размера файла в байтах;
FileName		- полное имя файла;
AlternateFileName- имя файла в формате 8.3;

Methods:


Class FtpConnection : DirIterator

#module root.system.filesystem
Класс для последовательного перебора файлов и каталогов в выбранном каталоге. 

Methods:


Class HelpFile

Methods:


Class HtmlHelpFile

Methods:


Class IniFile

#module root.system.environment
The class is designed to serve the configuration file.

Methods:


IniFile::DeleteKey(object String, object String)

param section, key;

Deletes the key specified via the key parameter from the section 
specified via the section parameter.

IniFile::DeleteSection(object String)

param section;

Deletes the section specified via the section parameter.

IniFile::IniFile(object String, ...)

param name, [writedefault];

Constructor.
  name - the name of the appropriate file or an empty string.
The empty string of the name parameter determines that the win.ini file 
is operated on.
  writedefault - if this parameter is set to TRUE, all read methods 
	with the stated value will automatically write this value 
	to the configuration file by default, when the value of 
	the key was not found during the read operation.
The TRUE value of this parameter is equivalent to calling 
the Constructor without this parameter.

IniFile::ReadBool(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the Boolean value (boolean). The "1", "true", "TRUE", "on", "ON" 
strings are converted to TRUE, the "0", "false", "FALSE", "off", "OFF" 
strings are converted to FALSE 
Returns the obtained value if succeeded; otherwise - EMPTY.

IniFile::ReadBool(object String, object String, boolean)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the Boolean value (boolean). The "1", "true", "TRUE", "on", "ON" 
strings are converted to TRUE, the "0", "false", "FALSE", "off", "OFF" 
strings are converted to FALSE 
Returns the obtained value if succeeded; otherwise - deflt.

IniFile::ReadFloat(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the floating number (float). 
Returns the obtained number if succeeded; otherwise - EMPTY. 

IniFile::ReadFloat(object String, object String, float)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the floating number (float). 
Returns the obtained number if succeeded; otherwise - deflt.

IniFile::ReadInt(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the integer number (int).
Returns the obtained number if succeeded; otherwise - EMPTY. 

IniFile::ReadInt(object String, object String, int)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the integer number (int).
Returns the obtained number if succeeded; otherwise - deflt.

IniFile::ReadNumb(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the number (int, float or double type depending on the string). 
Returns the obtained number if succeeded; otherwise - EMPTY.

IniFile::ReadNumb(object String, object String, number)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the number (int, float or double type depending on the string). 
Returns the obtained number if succeeded; otherwise - deflt.

IniFile::ReadSection(object String)

param section;

Reads all key names and key values from the section specified via 
the section parameter.
Returns the vector of << <<key_name1, value1>>, <<key_name2, value2>>, ...>> 
type

IniFile::ReadSectionKeys(object String)

param section;

Reads all key names from the section specified via the section parameter.
Returns the vector of <<key_name1, key_name2, ...>> type

IniFile::ReadStr(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter.
Returns the read string if succeeded; otherwise - EMPTY.

IniFile::ReadStr(object String, object String, object String)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter.
Returns the read string if succeeded; otherwise - deflt.

IniFile::ReadVectorBool(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of Boolean values (boolean) 
(for more information see the IniFile::ReadBool method). 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFile::ReadVectorBool(object String, object String, object Vector)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of Boolean values (boolean) 
(for more information see the IniFile::ReadBool method). 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFile::ReadVectorFloat(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of floating numbers (float). The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFile::ReadVectorFloat(object String, object String, object Vector)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of floating numbers (float). The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFile::ReadVectorInt(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of integer numbers (int). The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFile::ReadVectorInt(object String, object String, object Vector)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of integer numbers (int). The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFile::ReadVectorNumb(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of numbers (int, float or double type depending on the string). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFile::ReadVectorNumb(object String, object String, object Vector)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of numbers (int, float or double type depending on the string). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFile::ReadVectorStr(object String, object String)

param section, key;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the rows vector. The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY. 

IniFile::ReadVectorStr(object String, object String, object Vector)

param section, key, deflt;

Reads the string with the key specified via the key parameter from 
the section specified via the section parameter and converts it to 
the vector of rows. The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFile::WriteBool(object String, object String, boolean)

param section, key, b;

Writes the Boolean value determined via the b parameter to the section 
specified via the section parameter with the key specified via 
the key parameter.
The TRUE value is written as a "true" string, the FALSE value 
is written as a "false" string.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFile::WriteFloat(object String, object String, number)

param section, key, n;

The special case of the IniFile::WriteNumb method
(for more information see the IniFile::WriteNumb method)

IniFile::WriteInt(object String, object String, int)

param section, key, n;

The special case of the IniFile::WriteNumb method(
for more information see the IniFile::WriteNumb method)

IniFile::WriteNumb(object String, object String, number)

param section, key, n;

Writes the number n ( of int, float or double type) to the section 
specified via the section parameter with the key specified via 
the key parameter.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFile::WriteStr(object String, object String, object String)

param section, key, s;

Writes the string determined via the s parameter to the section 
specified via the section parameter with the key specified via 
the key parameter.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFile::WriteVectorBool(object String, object String, object Vector)

param section, key, v;

Writes the vector of Boolean values determined via the b parameter to 
the section specified via the section parameter with the key specified 
via the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist 
then they are created. The TRUE value is written as a "true" string, 
the FALSE value is written as a "false" string.

IniFile::WriteVectorFloat(object String, object String, object Vector)

param section, key, v;

The special case of the IniFile::WriteVectorNumb method
(for more information see the IniFile::WriteVectorNumb method)

IniFile::WriteVectorInt(object String, object String, object Vector)

param section, key, v;

The special case of the IniFile::WriteVectorNumb method
(for more information see the IniFile::WriteVectorNumb method)

IniFile::WriteVectorNumb(object String, object String, object Vector)

param section, key, v;

Writes the vector of numbers (of int, float or double type) determined 
via the v parameter to the section specified via the section parameter 
with the key specified via the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFile::WriteVectorStr(object String, object String, object Vector)

param section, key, v;

Writes the vector of rows determined via the v parameter to the section 
specified via the section parameter with the key specified via 
the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist 
then they are created.

Class IniFileSection

#module root.system.environment
The class is designed to serve the configuration file section.

Methods:


IniFileSection::Delete(void)

Deletes the appropriate section.

IniFileSection::DeleteKey(object String)

param key;

Deletes the key specified via the key parameter.

IniFileSection::IniFileSection(object String, object String, ...)

param ininame, section, writedefault;

Constructor.
  ininame - the name of the configuration file,
  section - the section name in the configuration file.
  writedefault - if this parameter is set to TRUE, all read methods 
		with the stated value will automatically write this 
		value to the configuration file by default, when the 
		value of the key was not found during the read operation.
The TRUE value of this parameter is equivalent to calling 
the Constructor without this parameter.

IniFileSection::IniFileSection(refer object IniFile, object String)

param ini, section;

Constructor.
Constructor.
  ini - the object of the IniFile class,
  section - the section name in the configuration file.

IniFileSection::Read(void)

Reads all key names and key values from a given section.
Returns the vector of << <<key_name1, value1>>, <<key_name2, value2>>, ...>> 
type

IniFileSection::ReadBool(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the Boolean value (boolean). The "1", "true", "TRUE", "on", "ON" 
strings are converted to TRUE, the "0", "false", "FALSE", "off", "OFF" 
strings are converted to FALSE 
Returns the obtained value if succeeded; otherwise - EMPTY.

IniFileSection::ReadBool(object String, boolean)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the Boolean value (boolean). The "1", "true", "TRUE", "on", "ON" 
strings are converted to TRUE, the "0", "false", "FALSE", "off", "OFF" 
strings are converted to FALSE 
Returns the obtained value if succeeded; otherwise - deflt.

IniFileSection::ReadFloat(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the floating number (float).
Returns the obtained number if succeeded; otherwise - EMPTY. 

IniFileSection::ReadFloat(object String, float)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the floating number (float).
Returns the obtained number if succeeded; otherwise - deflt.

IniFileSection::ReadInt(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the integer number (int).
Returns the obtained number if succeeded; otherwise - EMPTY. 

IniFileSection::ReadInt(object String, int)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the integer number (int).
Returns the obtained number if succeeded; otherwise - deflt.

IniFileSection::ReadKeys(void)

Reads all key names from a given section.
Returns the vector of <<key_name1, key_name2, ...>> type

IniFileSection::ReadNumb(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the number (int, float or double type depending on the string).
Returns the obtained number if succeeded; otherwise - EMPTY. 

IniFileSection::ReadNumb(object String, number)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the number (int, float or double type depending on the string).
Returns the obtained number if succeeded; otherwise - deflt.

IniFileSection::ReadStr(object String)

param key;

Reads the string with the key specified via the key parameter.
Returns the read string if succeeded; otherwise - EMPTY.

IniFileSection::ReadStr(object String, object String)

param key, deflt;

Reads the string with the key specified via the key parameter.
Returns the read string if succeeded; otherwise - deflt.

IniFileSection::ReadVectorBool(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the vector of Boolean values (boolean) 
(for more information see the IniFile::ReadBool method). 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFileSection::ReadVectorBool(object String, object Vector)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the vector of Boolean values (boolean) 
(for more information see the IniFile::ReadBool method). 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFileSection::ReadVectorFloat(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the vector of floating numbers (float). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFileSection::ReadVectorFloat(object String, object Vector)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the vector of floating numbers (float). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFileSection::ReadVectorInt(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the vector of integer numbers (int). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFileSection::ReadVectorInt(object String, object Vector)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the vector of integer numbers (int). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFileSection::ReadVectorNumb(object String)

param key;

Reads the string with the key specified via the key parameter and converts it 
to the vector of numbers (int, float or double type depending on the string). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY.

IniFileSection::ReadVectorNumb(object String, object Vector)

param key, deflt;

Reads the string with the key specified via the key parameter and converts it 
to the vector of numbers (int, float or double type depending on the string). 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFileSection::ReadVectorStr(object String)

param key;

Reads the string with the key specified via the key parameter and converts 
it to the rows vector. 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - EMPTY. 

IniFileSection::ReadVectorStr(object String, object Vector)

param key, deflt;

Reads the string with the key specified via the key parameter and converts 
it to the rows vector. 
The comma is counted as a delimiter. 
Returns the obtained vector if succeeded; otherwise - deflt.

IniFileSection::WriteBool(object String, boolean)

param key, b;

Writes the Boolean value determined via the b parameter with the key specified 
via the key parameter.
The TRUE value is written as a "true" string, the FALSE value is written 
as a "false" string.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFileSection::WriteFloat(object String, number)

param key, n;

The special case of the IniFileSection::WriteNumb method
(for more information see the IniFileSection::WriteNumb method)

IniFileSection::WriteInt(object String, int)

param key, n;

The special case of the IniFileSection::WriteNumb method
(for more information see the IniFileSection::WriteNumb method)

IniFileSection::WriteNumb(object String, number)

param key, n;

Writes the number n (of int, float or double type) with the key specified 
via the key parameter.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFileSection::WriteStr(object String, object String)

param key, s;

Writes the string determined via the s parameter with the key specified 
via the key parameter.
If the appropriate configuration file, section or key does not exist 
then they are created.

IniFileSection::WriteVectorBool(object String, object Vector)

param key, v;

Writes the vector of Boolean values determined via the b parameter with 
the key specified via the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist then 
they are created. 

IniFileSection::WriteVectorFloat(object String, object Vector)

param key, v;

The special case of the IniFileSection::WriteVectorNumb method
(for more information see the IniFileSection::WriteVectorNumb method)

IniFileSection::WriteVectorInt(object String, object Vector)

param key, v;

The special case of the IniFileSection::WriteVectorNumb method
(for more information see the IniFileSection::WriteVectorNumb method)

IniFileSection::WriteVectorNumb(object String, object Vector)

param key, v;

Writes the vector of numbers (of int, float or double type) determined via 
the v parameter with the key specified via the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist then 
they are created.

IniFileSection::WriteVectorStr(object String, object Vector)

param key, v;

Writes the vector of rows determined via the v parameter with the key specified 
via the key parameter.
The comma is counted as a delimiter. 
If the appropriate configuration file, section or key does not exist then 
they are created.

Class Lock

Methods:


Class MShell : NTShell

#module root.system.shell
Represents a shell that grants different system services to a user. 
The class is derived from the DOSShell or NTShell class, depending on 
the operating system.

Methods:


MShell::AddFolder(refer object String)

param folderName;

Adds a group to the Program Manager.
folderName		The group name.

MShell::AddItem(refer object String, refer object String, object String)

param folderName, itemName, cmdLine;

Adds an element to the Program Manager.
folderName	The group name.
itemName	The element name, which is displayed as a caption.
cmdLine		The program name, which is launched when a given 
		element is selected.

MShell::AddUniqItem(refer object String, refer object String, object String)

param folderName, itemName, cmdLine;

Adds a unique element to the Program Manager.
folderName	The group name.
itemName	The element name, which is displayed as a caption.
cmdLine		The program name, which is launched when a given 
		element is selected.
Comments
In contrast to the MShell::AddItem method this method deletes all 
previous elements with the same name.

MShell::GetDriveType(object String)

param Path;

Retrive device type for specified path.
Return value coresponded to next constants ...
#define DRIVE_REMOVABLE			2
#define DRIVE_FIXED				3
#define DRIVE_REMOTE			4	- network device
#define DRIVE_CDROM				5
#define DRIVE_RAMDISK			6

MShell::GetSystemDefaultLangID(void)

Retrieves the language identifier of the system locale.
0x0436 Afrikaans 
0x041c Albanian 
0x0401 Arabic (Saudi Arabia) 
0x0801 Arabic (Iraq) 
0x0c01 Arabic (Egypt) 
0x1001 Arabic (Libya) 
0x1401 Arabic (Algeria) 
0x1801 Arabic (Morocco) 
0x1c01 Arabic (Tunisia) 
0x2001 Arabic (Oman) 
0x2401 Arabic (Yemen) 
0x2801 Arabic (Syria) 
0x2c01 Arabic (Jordan) 
0x3001 Arabic (Lebanon) 
0x3401 Arabic (Kuwait) 
0x3801 Arabic (U.A.E.) 
0x3c01 Arabic (Bahrain) 
0x4001 Arabic (Qatar) 
0x042b Windows 2000: Armenian. This is Unicode only. 
0x044d Windows 2000: Assamese. This is Unicode only. 
0x042c Azeri (Latin) 
0x082c Azeri (Cyrillic) 
0x042d Basque 
0x0423 Belarussian 
0x0445 Windows 2000: Bengali. This is Unicode only. 
0x0402 Bulgarian 
0x0455 Burmese 
0x0403 Catalan 
0x0404 Chinese (Taiwan) 
0x0804 Chinese (PRC) 
0x0c04 Chinese (Hong Kong SAR, PRC) 
0x1004 Chinese (Singapore) 
0x1404 Chinese (Macau SAR) 
0x041a Croatian 
0x0405 Czech 
0x0406 Danish 
0x0413 Dutch (Netherlands) 
0x0813 Dutch (Belgium) 
0x0409 English (United States) 
0x0809 English (United Kingdom) 
0x0c09 English (Australian) 
0x1009 English (Canadian) 
0x1409 English (New Zealand) 
0x1809 English (Ireland) 
0x1c09 English (South Africa) 
0x2009 English (Jamaica) 
0x2409 English (Caribbean) 
0x2809 English (Belize) 
0x2c09 English (Trinidad) 
0x3009 English (Zimbabwe) 
0x3409 English (Philippines) 
0x0425 Estonian 
0x0438 Faeroese 
0x0429 Farsi 
0x040b Finnish 
0x040c French (Standard) 
0x080c French (Belgian) 
0x0c0c French (Canadian) 
0x100c French (Switzerland) 
0x140c French (Luxembourg) 
0x180c French (Monaco) 
0x0437 Windows 2000: Georgian. This is Unicode only. 
0x0407 German (Standard) 
0x0807 German (Switzerland) 
0x0c07 German (Austria) 
0x1007 German (Luxembourg) 
0x1407 German (Liechtenstein) 
0x0408 Greek 
0x0447 Windows 2000: Gujarati. This is Unicode only. 
0x040d Hebrew 
0x0439 Windows 2000: Hindi. This is Unicode only. 
0x040e Hungarian 
0x040f Icelandic 
0x0421 Indonesian 
0x0410 Italian (Standard) 
0x0810 Italian (Switzerland) 
0x0411 Japanese 
0x044b Windows 2000: Kannada. This is Unicode only. 
0x0860 Kashmiri (India) 
0x043f Kazakh 
0x0457 Windows 2000: Konkani. This is Unicode only. 
0x0412 Korean 
0x0812 Korean (Johab) 
0x0426 Latvian 
0x0427 Lithuanian 
0x0827 Lithuanian (Classic) 
0x042f Macedonian 
0x043e Malay (Malaysian) 
0x083e Malay (Brunei Darussalam) 
0x044c Windows 2000: Malayalam. This is Unicode only. 
0x0458 Manipuri 
0x044e Windows 2000: Marathi. This is Unicode only. 
0x0861 Windows 2000: Nepali (India). This is Unicode only. 
0x0414 Norwegian (Bokmal) 
0x0814 Norwegian (Nynorsk) 
0x0448 Windows 2000: Oriya. This is Unicode only. 
0x0415 Polish 
0x0416 Portuguese (Brazil) 
0x0816 Portuguese (Standard) 
0x0446 Windows 2000: Punjabi. This is Unicode only. 
0x0418 Romanian 
0x0419 Russian 
0x044f Windows 2000: Sanskrit. This is Unicode only. 
0x0c1a Serbian (Cyrillic) 
0x081a Serbian (Latin) 
0x0459 Sindhi 
0x041b Slovak 
0x0424 Slovenian 
0x040a Spanish (Traditional Sort) 
0x080a Spanish (Mexican) 
0x0c0a Spanish (Modern Sort) 
0x100a Spanish (Guatemala) 
0x140a Spanish (Costa Rica) 
0x180a Spanish (Panama) 
0x1c0a Spanish (Dominican Republic) 
0x200a Spanish (Venezuela) 
0x240a Spanish (Colombia) 
0x280a Spanish (Peru) 
0x2c0a Spanish (Argentina) 
0x300a Spanish (Ecuador) 
0x340a Spanish (Chile) 
0x380a Spanish (Uruguay) 
0x3c0a Spanish (Paraguay) 
0x400a Spanish (Bolivia) 
0x440a Spanish (El Salvador) 
0x480a Spanish (Honduras) 
0x4c0a Spanish (Nicaragua) 
0x500a Spanish (Puerto Rico) 
0x0430 Sutu 
0x0441 Swahili (Kenya) 
0x041d Swedish 
0x081d Swedish (Finland) 
0x0449 Windows 2000: Tamil. This is Unicode only. 
0x0444 Tatar (Tatarstan) 
0x044a Windows 2000: Telugu. This is Unicode only. 
0x041e Thai 
0x041f Turkish 
0x0422 Ukrainian 
0x0420 Urdu (Pakistan) 
0x0820 Urdu (India) 
0x0443 Uzbek (Latin) 
0x0843 Uzbek (Cyrillic) 
0x042a Vietnamese 

MShell::GetVolumeList(int)

param deviceType;

Return list of root pathes for file system devices by type.
Parameter 'driveType' may have values returned by MShell::GetDriveType( void ). 
For example, for retriving list of root pathes for CDROM devices you can type shell->GetVolumeList( DRIVE_CDROM ). 

MShell::GetVolumeList(void)

Return list of root pathes for file system devices.
For example: << "c:\", "d:\", "h:\" >>

MShell::GetVolumeName(object String)

param Path;

Retrive volume name for device that contain specified file system path.
If fail return EMPTY. It posible, for example, than CD media not present in CDROM drive.

MShell::Logoff(void)

Logs off a user from the system.

MShell::MShell(void)

Creates a shell.

MShell::RemoveFolder(refer object String)

param folderName;

Deletes a group from the Program Manager.
folderName		The group name.

MShell::RemoveItem(refer object String, refer object String)

param folderName;

Deletes an element from the Program Manager.
folderName	The group name.
itemName	The element name.

MShell::Restart(void)

Restarts the system.

MShell::Shutdown(void)

Shuts down the system.

MShell::~MShell(void)

Deletes a shell.

Class Mutex : PSync

Methods:


Class NTShell

#module root.system.shell
The base class for the MShell class, which realize services 
provided by the Windows NT operating system.

Methods:


NTShell::AddService(refer object String, refer object String)

param Path, DisplayName;

Adds a common interactive service within the proper process to 
the database of the operating system service manager.
Path		The path to the executable file.
DisplayName	The service name which is displayed in the service window.
The system name of the service within the database specified 
via the DisplayName parameter. 
The service is launched by the service manager within the proper process 
at the system startup (common startup).
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::AddService(refer object String, refer object String, refer object String, int)

param Path, DisplayName, SystemName, StartType;

Adds a common interactive service within the proper process 
to the database of the operating system service manager.
Path		The path to the executable file.
DisplayName	The service name which is displayed in the service window.
SystemName	The system name of the service in the database of the 
		service manager (it is used in control and configuration 
		functions for the service identification).
StartType	The manner in which the service manager launches the service. 
		The following constants are available:			
			SERVICE_BOOT_START			0x00000000
			SERVICE_SYSTEM_START			0x00000001
			SERVICE_AUTO_START			0x00000002
			SERVICE_DEMAND_START			0x00000003
			SERVICE_DISABLED			0x00000004
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::AddService(refer object String, refer object String, refer object String, int, refer object String, refer object String, ...)

param Path, DisplayName, SystemName, StartType, AccountName, Password [, ServiceType=SERVICE_INTERACTIVE_PROCESS|SERVICE_WIN32_OWN_PROCESS ];

Adds a service to the database of the operating system service manager.
Path		The path to the executable file.
DisplayName	The service name which is displayed in the service window.
SystemName	The system name of the service in the database of the service
		manager (it is used in control and configuration functions for
		the service identification).
StartType	The manner in which the service manager launches the service. 
		The following constants are available:					
			SERVICE_BOOT_START			0x00000000
			SERVICE_SYSTEM_START			0x00000001
			SERVICE_AUTO_START			0x00000002
			SERVICE_DEMAND_START			0x00000003
			SERVICE_DISABLED			0x00000004
AccountName	The user under which the service is launched. If this
		parameter is an empty string, it is counted as LocalSystem.
		The user is determined as '<domain name>\<user name>'. The
		user can be determined as '.\<user name>' if the domain of 
		the current computer is needed. 
Password	The password to launch the service under the stated name.
ServiceType	The service type. The following constants are available:
			SERVICE_KERNEL_DRIVER 			0x00000001
			SERVICE_FILE_SYSTEM_DRIVER     		0x00000002
			SERVICE_WIN32_OWN_PROCESS 	     	0x00000010
			SERVICE_WIN32_SHARE_PROCESS  	  	0x00000020
		The constants determine the kernel driver, file system driver,
		common service within the proper process and common service
		within the shared process (shared by other services)
		accordingly.	
		Additionally, the
			SERVICE_INTERACTIVE_PROCESS    0x00000100
		constant defines the common service as interactive. The 
		interactive service must have a LocalSystem "user" to be
		launched. 
If the ServiceType parameter is omitted then the common service within 
the proper process is registered. 
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::ChangeEnvVar(object String, refer func)

param varName, transFunc;

Changes an environment variable.
varName		The variable name (for instance, Path).
transFunc   	The function that translates the current variable value 
		to a new value.
Comments
The translation function transFunc gets one argument as a string, 
which contains the current environment variable value whose name 
is equal to the varName parameter or EMPTY if such variable does 
not exist. The translation function should return a string, which 
contains new value of the environment variable; Otherwise the 
contents of the environment variable are not changed 
(for instance, the function returns empty value).
This function modifies the Registry.

NTShell::CheckUser(object BaseString, object BaseString, ...)

param Account, Password [, LogonType ];

Check logon possibility.
Account - user name ( like domen\user).
Password - password.
LogonType - logon type ( LOGON32_LOGON_INTERACTIVE by default ).
Возможные значения для LogonType:
	LOGON32_LOGON_BATCH - This logon type is intended for batch servers, where processes may
		be executing on behalf of a user without their direct intervention. This type is also
		for higher performance servers that process many clear-text authentication attempts at
		a time, such as mail or Web servers. The LogonUserEx function does not cache credentials
		for this logon type.
		
	LOGON32_LOGON_INTERACTIVE - This logon type is intended for users who will be interactively
		using the computer, such as a user being logged on by a terminal server, remote shell, or
		similar process. This logon type has the additional expense of caching logon information
		for disconnected operation, and is therefore inappropriate for some client/server applications,
		such as a mail server. 
	LOGON32_LOGON_NETWORK - This logon type is intended for high performance servers to authenticate
		clear text passwords. The LogonUserEx function does not cache credentials for this logon type. 
	LOGON32_LOGON_NETWORK_CLEARTEXT - Windows 2000/XP: This logon type preserves the name and
		password in the authentication packages, allowing the server to make connections to
		other network servers while impersonating the client. This allows a server to accept
		clear text credentials from a client, call LogonUserEx, verify that the user can access
		the system across the network, and still communicate with other servers.
		
 	LOGON32_LOGON_NEW_CREDENTIALS - Windows 2000/XP: This logon type allows the caller to clone
 		its current token and specify new credentials for outbound connections. The new logon
 		session has the same local identifier, but uses different credentials for other network
 		connections. 
	LOGON32_LOGON_SERVICE - Indicates a service-type logon. The account provided must have the
		service privilege enabled. 
	LOGON32_LOGON_UNLOCK - This logon type is intended for GINA DLLs logging on users who will
		be interactively using the computer. This logon type allows a unique audit record to be
		generated that shows when the workstation was unlocked. 
Comment.
	Method implimentation use call to Win32 function LogonUser.

NTShell::EditService(refer object String, int)

param SystemName, StartType;

Changes the manner in which the service whose system name is specified 
via the SystemName parameter is launched 
(fo more information see the AddService method).
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::EditService(refer object String, int, refer object String, refer object String)

param SystemName, StartType, AccountName, Password;

Changes startup type and account to login the service whose system name 
is specified via the SystemName (for more information see AddService).
If it is necessary to change only the login account then you can pass 
the SERVICE_NO_CHANGE (-1) constant for the StartType parameter. 
If the account is not changed you can enter an empty string.
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::EditService(refer object String, int, refer object String, refer object String, refer object String, refer object String)

param SystemName, StartType, AccountName, Password, Path, DisplayName;

Allows to change main service parameters (except the system name 
and service type) which were defined by the AddService method. 
If service startup type is not changed you can pass 
the SERVICE_NO_CHANGE (-1) constant for the StartType parameter. 
You can enter an empty string in order not to change parameters 
defined by the string.
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::GetServiceList(...)

param [ ListDrivers = FALSE ];

Returns the list of services in the system. If the ListDrivers 
parameter == FALSE or omitted then the list of common service is 
generated. If the ListDrivers parameter == TRUE then the list of 
driver services is generated.
The list consists of vectors with two elements. The first element 
represents system name of a service, the second one represent the 
name which is displayed in the service list. 
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::GetServiceState(refer object String)

param SystemName;

Returns the current service state. The following values are available:
SERVICE_STOPPED			- service is stopped;
SERVICE_START_PENDING		- service is in the startup process 
				(being launched);
SERVICE_STOP_PENDING		- service is in the stop process 
				(being stopped);
SERVICE_RUNNING			- service is launched;
SERVICE_CONTINUE_PENDING	- service is being resumed after pause;
SERVICE_PAUSE_PENDING		- service is being paused;
SERVICE_PAUSED			- service is paused;
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::InitiateRemoteShutdown(refer object String, refer object String, int, boolean, boolean)

param RemoteMachine, PromptText, WaitPeriod, ForceCloseApp, RebootAfterShutdown;

Performs operating system shut down and turns off/reboots the computer 
specified via the RemoteMachine parameter similarly to the 
NTShell::InitiateShutdown( refer object String, int, boolean, boolean ) method. 
Current user must have rights to perform this operation on the remote system.

NTShell::InitiateShutdown(refer object String, int, boolean, boolean)

param PromptText, WaitPeriod, ForceCloseApp, RebootAfterShutdown;

Performs operating system shut down and turns off/reboots the computer 
(if system configuration allows to do it). First of all the warning 
dialog which contains text specified via the PromptText parameter is displayed. 
It waits for  WaitPeriod seconds and begins the process of operating 
system unloading. If the ForceCloseApp parameter is set then all the 
programs with unsaved data are closed. If the RebootAfterShutdown 
parameter is set then the computer is rebutted after unloading 
the operating system. If the computer has ATX power supply and 
the appropriate driver in the system, this method switches off 
computer power supply. 
Current user must have rights in the system to perform this operation.

NTShell::RemoveService(refer object String)

param SystemName ;

Deletes the service whose system name is specified via the 
SystemName parameter from the database of the service manager.	

NTShell::StartService(refer object String, ...)

param SystemName [, Wait = TRUE ];

Commands the service manager to launch the service whose system name 
is specified via the SystemName parameter.
If the Wait parameter == TRUE or omitted then the instruction 
termination is waited. An error raises if the service is not 
launched in a time specified by the service manager as the time 
required for the command execution. 
If the Wait parameter == FALSE then this method returns time (in sec) 
that is required for service startup; Otherwise - 0. You can check the 
service state by the GetServiceState method. 
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

NTShell::StopService(refer object String, ...)

param SystemName [, Wait = TRUE ];

Commands the service manager to stop the service whose system name is 
specified via the SystemName parameter.
If the Wait parameter == TRUE or omitted then the instruction 
termination is waited. An error raises if the service is not 
stopped in a time specified by the service manager as the time 
required for the command execution. 
If the Wait parameter == FALSE then this method returns time 
(in sec) that is required for service stop. You can check the 
service state by the GetServiceState method. 
If a user does not have adequate rights to execute this operation, 
the ERR_NTSHELL_ACCESS_DENIED_ERROR error is raised.
In case of other errors the ERR_SERVICE_CONTROL_ERROR is raised.

Class PSync

Methods:


Class ProcessData

#module root.system
This class is designed to get information about all the process that 
runs on the current computer.

Methods:


ProcessData::GetMemoryUsage(void)

Populates the following fields 
	MemorySize - memory that is used by the process for data;
	CodeSize - memory that is used by the process code;

ProcessData::GetProcessInfo(void)

Populates the following fields 
	OwnerName - name of the process owner;
	LaunchTime - time of the process startup;

Class PulseTimer

Methods:


Class RasClient

Methods:


Class RegKey

#module root.system.environment
The registry key
In the DOS operating system the REGISTRY.INI configuration file 
supports the registry.

Methods:


RegKey::CreateKey(void)

Creates a key.

RegKey::DeleteKey(void)

Deletes a key with all its sub-keys.

RegKey::DeleteValue(refer object String)

param valueName;

Deletes the value of a given key.
valueName 	The name of the value to delete.

RegKey::IsExist(void)

Verifies whether a specific key exists.
Returns TRUE, if the key exists; otherwise - FALSE.

RegKey::ReadSubKeys(void)

Reads out all direct sub-keys of a given key.
Returns the vector that consists of a given class objects which 
correspond to sub-keys.

RegKey::ReadValue(refer object String)

param valueName;

Reads out the value of a given key.
valueName	The name of the value to read.
Returns one of the following values:
1) EMPTY, if the key is of REG_NONE type.
2) String, if the key is of REG_SZ, REG_EXPAND_SZ, REG_BINARY type.
3) Integer number, if the key is of REG_DWORD type.

RegKey::ReadValueType(refer object String)

param valueName;

Reads out the value type of a given key.
valueName 	The name of the value whose type should be read.
Returns one of the following values:
1) REG_NONE - the key does not contain anything.
2) REG_SZ - the key contains character string.
3) REG_EXPAND_SZ - the key contains character string which includes 
pointers to environment variables of %VarName% type.
4) REG_BINARY - the key contains binary string.
5) REG_DWORD - the key contains 32-bit integer number.

RegKey::ReadValues(void)

Reads out all values of a given key.
Returns the vector that consists of vectors each of them in 
turn contains the value name, value itself and its type.

RegKey::RegKey(refer object String)

param keyName;

Creates the object which is associated with a specific key in the registry. 
keyName	The key name
Comments
The object can be created for the key which is not currently existed 
in the system in order to create this key later with the help of 
the RegKey::CreateKey method.
The key name must begin with the name of one of the standard root 
keys (for instance, HKEY_CURRENT_USER).

RegKey::WriteValue(refer object String, refer any)

param valueName, value;

Writes the value of a given key.
valueName   	The name of the value to write.
value		New value.
Comments
The value may not exist before calling this method.
After calling this method the value will be one of the following types:
1) REG_NONE, if the value is of EMPTY type.
2) REG_SZ, if the value is of object String type.
3) REG_DWORD, if the value is of int type.

RegKey::WriteValue(refer object String, refer any, int)

param valueName, value, valueType;

Writes the value of a given key.
valueName   The name of the value to write.
value		New value.
valueType	The type of the new value.
Comments
The value may not exist before calling this method.
After calling this method the value will be one of the following types:
1) REG_NONE, if the value is of EMPTY type 
(the valueType parameter value is ignored).
2) REG_SZ, if the value is of object String type and 
the valueType parameter value is equal to REG_SZ.
3) REG_EXPAND_SZ, if the value is of object String type 
and the valueType parameter value is equal to REG_EXPAND_SZ.
4) REG_BINARY, if the value is of object String type and 
the valueType parameter value is equal to REG_BINARY.
5) REG_DWORD, if the value is of int type 
(the valueType parameter value is ignored).

Class Semaphore : PSync

Methods:


Class SharedMem

Methods:


GetIniPath(void)

Gets the path to the folder where the configuration files for which 
the whole path was not set are stored.
Returns the string with the path.

LoadAppAddons

param IniFilePath, [SectionPrefix];

Загружает или запускает дополные модули программы перечисленные
в секции '{SectionPrefix}/Addons' файла конфигурации заданного
параметром IniFile. Если параметр SectionPrefix не указан, то будет
просматриваться секция с именем 'Addons'.
Параметр IniFile может быть строкой с путем к файлу конфигурации
или экземпляром класса IniFile.

Index: