Страница 6 из 10
Как отследить нажата ли в текущий момент кнопка мыши с помощью API? Смотрите GetKeyState(int nVirtKeyCode). Коды левой, правой и средней кнопок мыши соотверственно: VK_LBUTTON,VK_RBUTTON,VK_MBUTTON или GetAsyncKeyState(VK_LBUTTON) (соответственно, VK_RBUTTON и VK_MBUTTON).
С помощью каких механизмов две программы могут обмениваться данными? 1. OLE 2. Файлы проецируемые в память 3. Секции данных, pазделяемые несколькими пpоцессами 4. WM_COPYDATA 5. Именованные (и неименованные) каналы или pipes 6. Почтовые ячейки или mailslots 7. DDE(Dynamic data exchange).
Как блокировать Alt+Tab во время выполнения программы? CMainFrame::CMainFrame() { m_nHotKeyID = 100;
BOOL m_isKeyRegistered = RegisterHotKey(GetSafeHwnd(), m_nHotKeyID, MOD_ALT, VK_TAB);
ASSERT(m_isKeyRegistered != FALSE); }
//Убираем блокировку при выходе из приложения CMainFrame::~CMainFrame() { BOOL m_iskeyUnregistered = UnregisterHotKey(GetSafeHwnd(), m_nHotKeyID); ASSERT(m_isKeyUnregistered != FALSE); }
Как опpеделить какой service pack установлен на NT ? Смотрите функцию GetVersionEx.
Как узнать наличие юзера сервере NT ? NET_API_STATUS x=NetUserChangePassword(LPWSTR compname,LPWSTR username, LPWSTR oldpassword,LPWSTR newpassword) - где newpassword=oldpassword. По возвращаемому значению делаем свои выводы.Дешево и сердито.И страшных прав не надо как,например,на LogonUser().
Как средствами API реализовать в RichEdit разноцветный текст?
CHARFORMAT cf; cf.cbSize = sizeof(cf); cf.dwMask = CFM_COLOR; cf.crTextColor = ...; file://rgb SendMessage(hwndRtf,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&cf);
Как пользоваться элементом управления похожим на открытие файлов, только все это для каталогов? Используем API( SHGetPathFromIDList ): LPITEMIDLIS lpItemDList; char szWorkDir[MAX_LEN];
BROWSEINFO bi = {hWnd, NULL, m_szWorkDir, "Выберите каталог", BIF_DONTGOBELOWDOMAIN, NULL, NULL, 0 }; if(!(lpItemDList=SHBrowseForFolder(&bi))) return 0; SHGetPathFromIDList(lpItemDList, szWorkDir);
В szWorkDir получаешь выбранный каталог
Есть ли функции API, работающие с папками и файлами вместе? Как перемещать, переименовывать и копировать папки вместе с файлами, которые находятся внутри? Смотрите функцию SHFileOperation.
Как с помощью API организовать запись с CD-ROM'а или микрофона? Смотрите функции: waveInOpen waveInPrepareHeader waveInAddBuffer waveInStart.Только обязательно посмотрите примеры из MSDN. Как узнать частоту обновления экрана перед началом переключения, чтобы потом ее восстановить? Смотрите функцию GetDeviceCaps, с паpаметpом VREFRESH
Как узнать тип диска? Для NT все пpосто - там надо вызвать QueryDosDevice, а остальное настолько очевидно, что описывать дольше чем самому посмотpеть ;-)) Для Win95 несколько сложнее. Я не буду выкусывать соответствующий кусок из функции опpеделения типа диска. Без контекста там не совсем понятно что к чему. Hадо только учесть, что эта функция 16-ти битная и ее надо вызывать чеpез Thunk-и. Конечно, часть того, что она делает можно сделать и в 32-х битном коде, но не все.
|