Страница 5 из 10
Как узнать, кто в данный момент присоединен через Сеть к машине? Это можно узнать по сессиям: SESSION_INFO_2 *psi2; NET_API_STATUS Result; wchar_t wcServerName[MAX_COMPUTERNAME_LENGTH + 1]; DWORD prefmaxlen = MAX_PREFERRED_LENGTH; DWORD entriesread; DWORD totalentries;
StringToWideChar( name, wcServerName, MAX_COMPUTERNAME_LENGTH );
Result = NetSessionEnum( (LPTSTR) wcServerName, NULL, NULL, 2, (unsigned char**) &psi2, prefmaxlen, &entriesread, &totalentries, NULL ); if( Result != NERR_Success ) throw Exception("Информация о сессиях не получена!");
Как убрать кнопку с TaskBar'а? С помощью Win32 API это можно сделать с помощью функции CreateWindowEx(), указав флаг WS_EX_TOOLWINDOW.
Как определить позицию курсора в консоли Win32? CONSOLE_SCREEN_BUFFER_INFO bi; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), bi); // bi.dwCursorPosition - кооpдинаты куpсоpа
Как очистить экран в консоли Win32? Можно использовать функцию ScrollConsoleScreenBuffer или следующий код: COORD c; c.X = 0; c.Y = 0; CONSOLE_SCREEN_BUFFER_INFO bi; DWORD written; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), bi); FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ', bi.dwSize.X*bi.dwSize.Y, c, written); FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGRUND_BLUE /*цвет*/, bi.dwSize.X*bi.dwSize.Y, c,written);
Как узнать количество элементов и размер корзины? Как очистить корзину?
//Очищает корзину на указанном диске SHSTDAPI SHEmptyRecycleBin( HWND hwnd, LPCTSTR pszRootPath, DWORD dwFlags);
//Получает размер и количество элементов в корзине SHSTDAPI SHQueryRecycleBin( LPCTSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
Как получить список все запущенных процессов и потоков? Для Windows 9x используйте CreateToolhelp32Snapsot/ Process32First(Process32Next)/ Thread32First(Thread32Next). Для WinNT NTQuerySystemInformation. А можно так: получаете список окон в системе (каким угодно способом, если нужны только процессы - можно ограничиться top-level), далее - GetWindowTreadProcessID - получаете ID процесса (и нити). OpenProcess - дает handle процесса.
Какие существуют функции для работы с COM-портом напрямую под Win9x? Посмотрите функции: BuildCommDCB BuildCommDCBAndTimeouts ClearCommBreak ClearCommError CommConfigDialog EscapeCommFunction GetCommConfig GetCommMask GetCommModemStatus GetCommProperties GetCommState GetCommTimeouts GetDefaultCommConfig PurgeComm SetCommBreak SetCommConfig SetCommMask SetCommState SetCommTimeouts SetDefaultCommConfig SetupComm TransmitCommChar WaitCommEvent
Как завесить Windows? 1. Сделать файл system.ini больше, чем 64К. Вешается при загрузке. 2. Вызвать код: cli jmp $
Как получить hInstance консольного приложения? GetModuleHandle(NULL) ;
Чем отличается PID от hInstance? PID - уникальный идентификатор объекта ядра - процесса Inst - (упрощенно) указатель на область памяти, куда загружен экземпляр модуля (экзешника, dll-ки)
Как установить обои на Рабочий Стол? SystemParametrsInfo(SPI_SETDESKWALLPAPER,0,'обои.bmp',SPIF_UPDATEINIFILE); Как сделать какие-то действия дождавшись завершения процесса? 1. Открывать файл для записи. 2. Выяснить hWnd запушенной программы и использовать функцию IsWindow(Handle:hWnd), которая определяет, существует ли он. 3. Взять hProcess, возвращаемый CreateProcess, и возпользоваться функцией WaitForSingleObject с hProcess в качестве параметра.
|