GetEvironmentVariable «• Windows 98 + Windows 2000 |
||||||
Описание |
Функция GetEvironmentVariable возвращает значение, связанное с переменной окружения процесса. |
|||||
Синтаксис |
DWORD GetEvironmentVariable(LPTCSTR IpszName, LPTSTR IpszValue DWORD dw Value) |
|||||
Параметры |
||||||
IpszName |
LPTCSTR Указатель на строку, завершающуюся нулевым символом и содержащую имя переменной окружения. |
|||||
IpszValue |
LPTSTR Указатель на буфер, в который поступает значение переменной окружения. |
|||||
dw Value |
DWORD: Количество символов типа TCHAR, сохраняемых в буфере IpszValue. |
|||||
Возвращаемое значение |
DWORD: Если переменная среды не найдена, возвращается 0; в противном случае возвращается число символов типа TCHAR, сохраняемых в буфере IpszValue. В это число не входит завершающий нулевой символ. Если функция не может быть выполнена вследствие недостаточного размера буфера, возвращается число символов типа TCHAR, которое фактически требуется для сохранения значения переменной. Для проверки указанного выше условия или сравнения с размером буфера значения, возвращаемого функцией GetEvironmentVariable стоит прибегнуть к функции GetLastError. Если возвращаемое значение больше, буфер перераспределяется в соответствии с необходимым размером, а функцию GetEvironmentVariable можно успешно вызвать еще раз. |
|||||
Включаемый файл |
winbase.h |
|||||
См. также |
GetEvironmentString, SetEvironmentVariable. |
|||||
Пример |
Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, значение переменной TEST заменяется значением, передаваемым в командной строке. |
|||||
См. \local~sources\chap21\21-06. fact |
||||||
GetLocalTime • Windows 98 * Windows 2000 |
||||||
Описание |
Функция GetLocalTime осуществляет выборку местного времени из структуры типа SYSTEMTIME. Это время настраивается на летнее время применительно к конкретному временному поясу. |
|||||
Синтаксис |
VOID GetLocalTime(LPTSYSTEMTIME Ipsi) |
|||||
Параметры |
||||||
Ipsi |
LPTSYSTEMTIME: Указатель на структуру SYSTEMTIME, которая будет заполнена датой и временем в формате местного времени. Определение структуры SYSTEMTIME приведено в описании функции GetSystemTinieдалее в этой главе. |
|||||
Включаемый файл |
winbase.h |
|||||
См. также |
GetSystemTime, SetSystemTime, SetLocalTime. |
|||||
Пример |
В следующем примере время переводится на один час вперед всякий раз, когда пользователь выбирает пункт меню Test! По завершении данного примера системное время восстанавливается. Примечание: этот пример приводит к утере компьютером времени, в течение которого он выполняет данный пример. |
|||||
См. \Jocal-sources\chap2I\21-07. txt |
||||||
GetLoqicalDrives • Windows 98 • Windows 2000 |
||||||
Описание |
Функция GetLogicalDrives возвращает битовую маску логических дисков, которые доступны в настоящий момент. При этом каждый бит маски представляет конкретный диск. Если бит установлен, значит, логический диск доступен, иначе бит будет сброшен. |
|||||
Синтаксис |
DWORD GetLogicalDrives(VOID) |
|||||
Параметры |
Параметры отсутствуют. |
|||||
Возвращаемое значение |
DWORD: Битовая маска логических дисков. Биты этой маски устанавливаются в случае доступности соответствующих дисков. Бит 0 соответствует диску А, бит 1 — диску В, бит 2 — диску С и т.д. Если функция не может быть выполнена, возвращается значение 0. |
|||||
Включаемый файл |
winbase.h |
|||||
См. также |
GetLogicalDriveStrings . |
|||||
Пример |
См. пример применения функции GetDiskFreeSpaceEx |
|||||
GetLogicalDriveStrings • Windows 98 • Windows 2000 |
||||||
Описание |
Функция GetLogicalDriveStrings заполняет буфер строками, которые определяют действительные логические диски в системе. |
|||||
Синтаксис |
DWORD GetLogicaIDriveStrings(DWORD nBufferLength, DWORD IpBuffer) |
|||||
Параметры |
||||||
nBufferLength |
DWORD: Максимальный размер (в символах) буфера, на который указывает параметр IpBuffer. В этот размер не входит завершающий нулевой символ. |
|||||
IpBuffer |
DWORD: Указатель на буфер, который принимает набор строк, завершающихся нулевым символом, причем на каждый действительный логический диск в системе приходится по одной строке, а завершается этот набор строк еще одним нулевым символом. Содержимое буфера, где <null> означает завершающий нулевой символ, выглядит следующим образом: C:\<nulI>D:\<nullXnull>. |
|||||
Возвращаемое значение |
DWORD: Если выполнение рассматриваемой функции окажется успешным, возвращаемое значение представляет собой длину (в символах) строк, скопированных в буфер, за исключением завершающего нулевого символа. Если же буфер оказался недостаточно велик, возвращаемое значение представляет собой размер буфера, который требуется для хранения строк, обозначающих логические диски. Если функция не завершается успешно, возвращается 0. |
|||||
Включаемый файл |
winbase.h |
|||||
См. также |
GetLogicalDrives. |
|||||
GetStartuplnfo • Windows 98 * Windows 2000 |
||||||
Описание |
Функция GetStartuplnfo возвращает информацию, имеющую отношение к тому, каким образом процесс был установлен его родительским процессом. |
|||||
Синтаксис |
VOID GetStartupInfo(LPSTARTUPINFO Ipsi) |
|||||
Параметры |
||||||
Ipsi |
LPSTARTUPINFO: Указатель на структуру STARTUPINFO, которая использовалась родительским процессом при создании вызывающего данную функцию процесса. Перед вызовом функции GetStartuplnfo член сЬ структуры STARTUPINFO должен быть инициализирован в соответствии с размером данной структуры. Определение структуры STARTUPINFO приводится ниже. |
|||||
Включаемый файл |
winbase.h |
|||||
См. также |
CreateProcess. |
|||||
Пример |
Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, в окне сообщений выводятся некоторые данные запуска процесса. |
|||||
См. \local-sources\chap21 \21-08. txt |
||||||
Определение структуры STARTUPINFO |
||||||
typedef struct STARTUPINFC { DWORD cb; LPTSTR IpReserved; LPTSTR IpDesktop ; LPTSTR IpTitle ; DWORD dwX; DWORD dwY; DWORDdwXSize; DWORD dwYSize; DWORD dwXCountChars ; DWORD dwYCountChars ; DWORD dwFillAttribute DWORD dwFlags; WORD wShowWindow; WORD cbReserved2 ; LPBYTE lpReserved2 ; HANDLE hStdlnput; HANDLE hStdOutput ; HANDLE hStdError; } STARTUPINFO, *LPSTARTUPINFO; |
||||||
Члены структуры STARTUPINFO |
||||||
cb |
DWORD: Размер структуры в байтах. |
|||||
IpReserved |
LPTSTR: Зарезервировано. Прежде чем данная структура будет передана функции GetStartupInfo, необходимо установить значение NULL данного члена. |
|||||
lpDesktop |
LPTSTR: В Windows 2000 это указатель на строку, завершающуюся нулевым символом и определяющую только наименование рабочего стола либо местоположения окна и рабочего стола для данного процесса. Обратная косая черта в данной строке указывает на то, что в нее включены наименования рабочего стола и местоположения окна. В противном случае эта строка интерпретируется в качестве просто наименования рабочего стола. Если установить для данного члена значение NULL, тогда новый процесс унаследует местоположение окна и рабочего стола своего родительского процесса. |
|||||
IpJhle |
LPTSTR: Заголовок, который отображается в строке заголовка при создании нового окна консоли. Если же установлено значение NULL, в качестве заголовка окна используется имя исполняемого файла. Для GUI-интерфейса или консольных процессов, которые не создают новые окна консоли, следует использовать значение NULL. |
|||||
dwX |
DWORD: Координата х верхнего левого угла окна, которая указывается в том случае, если создается новое окно. Этот член игнорируется, если не задается значение STARTF_USESIZE члена dwFlags. |
|||||
dwY |
DWORD: Координата у верхнего левого угла окна, которая указывается в случае создания нового окна. Этот член игнорируется, если не задается значение STARTFJJSESIZE члена dwFlags. |
|||||
dwXSl« |
DWORD: Ширина окна, которая указывается в случае создания нового окна. Этот член игнорируется, если не задается значение STARTFJJSESIZE члена dwFlags. |
|||||
dwYSize |
DWORD: Высота окна, которая указывается в случае создания нового окна. Этот член игнорируется, если не задается значение STARTF_USESIZE члена dwFlags. |
|||||
DwXCountChars |
DWORD: Размер буфера, который определяет ширину экрана в символьных столбцах и указывается в случае создания нового окна. Этот член игнорируется, если не задается значение STARTF_USECOUNTCHARS члена dwFlags. |
|||||
DwYCountChars |
DWORD: Размер буфера, который определяет высоту экрана в строках символов и указывается в случае создания нового окна. Этот член игнорируется, если не задается значение STARTF_USECOUNTCHARS члена dwFlags. |
|||||
dwFillAttribute |
DWORD: Первоначальные цвета текста и фона, которые указываются в случае создания в консольном приложении нового окна. Эти значения игнорируются в GUI-приложении либо если не задается значение STARTFJJSEFILLATTRIBUTE члена dwFlags. Для данного члена можно определить любое сочетание следующих значений: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND RED и BACKGROUND_INTENSITY. |
|||||
dwFlags |
DWORD: Определяет, будут ли определенные члены структуры STARTUP-INFO использоваться при создании процессом окна. При этом можно указать любые сочетания значений, перечисленных в табл. 21.4. |
|||||
wShowWindow |
WORD: Принимает значение, которое устанавливается по умолчанию при первом вызове функции ShowWindow. При этом параметр nCmdShow функции ShowWindow игнорируется. Этот член игнорируется, если не задается значение STARTJJSESHOWWINDOW члена dwfJags. Действительные значения функции ShowWindow рассматриваются в главе 4. |
|||||
cbReserved2 |
WORD: Зарезервировано. Значение этого члена должно быть равно 0. |
|||||
lpReserved2 |
LBYTE: Зарезервировано. Значение этого члена должно быть равно NULL. |
|||||
liStdlnput |
HANDLE: Дескриптор стандартного входного потока процесса, если не указано значение START_USESTDHANDLES члена dwFlags. |
|||||
hStdOutput |
HANDLE: Дескриптор стандартного выходного потока процесса, если не указано значение START_USESTDHANDLES члена dwFlags. |
|||||
hStdError |
HANDLE: Дескриптор стандартного потока ошибок процесса, если не указано значение STARTJJSESTDHANDLES члена dwFlags. |
|||||
Таблица 21.4 Значения члена dwFlags структуры STARTUPINFO |
||||||
Значение |
Что означает |
|||||
START_FORCEOFFEEDBACK |
Во время запуска процесса отображение курсора обратной связи принудительно подавляется |
|||||
START_FORCEONFEEDBACK |
Курсор переходит в режим обратной связи в течение двух секунд после вызова функции CreateProcess. Если в течение этих двух секунд процесс осуществляет первый вызов GUI, система предоставляет процессу еще пять секунд. Если же в течение этих пяти секунд процесс отображает окно, система предоставляет процессу пять дополнительных секунд на завершение отрисовки окна. После первого вызова функции GetMessage система выключает отображение курсора независимо от того, выполняет процесс рисование или нет |
|||||
START JUJNFULLSCREEN |
Процесс выполняется в полноэкранном, а не в оконном режиме. Этот признак действителен только для консольных приложений, выполняемых на компьютерах с процессором х86 |
|||||
START_USECOUNTCHARS |
Если этот признак установлен, используются члены dwXCountChars и dwYCountChars |
|||||
START_USEFILLSATTRIBUTE |
Если этот признак установлен, используется член dwFillAttribute |
|||||
START_USEPOSITION |
Если этот признак установлен, используются члены dwX и dwY |
|||||
START_USESHOWWINDOW |
Если этот признак установлен, используется член wShowWindow |
|||||
START_USESIZE |
Если этот признак установлен, используются члены dwXSize и dwYSize |
|||||
STARTJJSESTDHANDLES |
Устанавливает стандартный входной поток, выходной поток, а также поток ошибок процесса в соответствии с дескрипторами, определенными в членах hStdlnput, hStdOutput и hStdError структуры STARTUPINFO. Для того чтобы этот режим работал правильно, должно быть установлено значение TRUE параметра blnheritHandles функции CreateProcess |
|||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.