Частые вопросы по Visual C++

Google
  Главная   Новости   Статьи   Книги   Ссылки  

Часто задаваемые вопросы по Visual C++: Часть 4

Как убрать кнопку с 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); 
Предыдущая часть Содержание Следующая часть
Используются технологии uCoz