Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

F.A.Q.

334
17 июня 2007 года
HexEdit
809 / / 27.07.2006
Здесь нужно размещать ответы на часто задаваемые вопросы, относительно WinAPI.
Принимаю ваши дополнения, все полезные будут включаться в "шапку". В заголовке сообщения указываем вопрос, в теле - ответ. Думаю все понятно.

Ну для начала, конечно, наш основной FAQ

Общие вопросы
  1. Как создать иконку в трее?
  2. Как получить путь своего (текущего) исполняемого файла?
    GetModuleHandle(NULL);
  3. Как узнать PID процесса, которому принадлежит определенное окно?
    GetWindowThreadProcessID(HWND hWnd, LPDWORD lpdwProcessId);
  4. Как по PID/хендлу процесса получить имя его исполняемого файла?

Окна (вопросы по работе с окнами)
  1. Как сделать, что бы окно перетаскивалось за любую его часть?
  2. Как сделать окно прозрачным?
     
    Код:
    SetWindowLong(hWnd, GWL_EX_STYLE,
        GetWindowLong(hWnd, GWL_EX_STYLE) or WS_EX_LAYERED);
    SetLayeredWindowAttributes(hWnd, 0, <прозрачность_1..255>, LWA_ALPHA);

    Прозрачность:
    0 - полностью прозрачно, клики проходят сквозь
    1 - полностью прозрачно, клики проходят на окно
    255 - не прозрачно
    Примечание:
    Работает только с Win2000. С этой функцией на предыдущих версиях программа не запустится.
  3. Как удалить часть окна определенного цвета?
    Как и выше, за исключением:
     
    Код:
    SetLayeredWindowAttributes(hWnd, <цвет>, 0, LWA_COLORKEY);
  4. Как сделать не доступной кнопку закрытия окна?
    SetClassLong(hWnd, GCL_STYLE, CS_NOCLOSE);
  5. Как изменить системное меню окна?
    hSysMenu = GetSystemMenu(hWnd, FALSE);, а дальше работаете с ним как с обычным.
    Для сброса изменений - GetSystemMenu(hWnd, TRUE);
  6. Как получить текст/заголовок окна?
     
    Код:
    CHAR szWText[160];
    GetWindowText(hWnd, szWText, 160);
257
02 августа 2007 года
kosfiz
1.6K / / 18.09.2005
вот пример: http://forum.codenet.ru/showpost.php?p=174080&postcount=5
257
02 августа 2007 года
kosfiz
1.6K / / 18.09.2005
http://forum.codenet.ru/showthread.php?t=33642
261
05 августа 2007 года
ahilles
1.5K / / 03.11.2005
FAQ по API для работы с пользователями
http://faqs.org.ru/progr/windows/win32api.htm
35K
22 января 2008 года
ShiBa iNu
2 / / 22.01.2008
Привет всем!
Кто-нибудь может мне объяснить, что такое WinAPI, с чем его едят и как программировать? Я только начинаю...
30K
17 февраля 2008 года
Ден Зурин
28 / / 17.02.2008
Цитата: ShiBa iNu
что такое WinAPI


Это набор стандартных библиотек Windows. Позволяют использовать ВСЕ возможности Windows, работают быстрее по сравнению со другими библиотеками (такими, как MFC и VCL), хотя DirectX еще быстрее. :)

Цитата: ShiBa iNu
с чем его едят


Поддерживаются, например, в Visual Basic, Delphi, C++ Builder, Visual C++, Watcom C++, MASM32, TASM. В принципе, любой нормальный компилятор для Windows имеет поддержку API.

Цитата: ShiBa iNu
и как программировать?


Это зависит от языка и компилятора. В Delphi нужно подключить модуль Windows (обычно он уже подключен), в Visual Basic каждую API-функцию нужно объявлять (используй утилиту API Viewer), в C++ нужно подключить заголовочный файл windows.h, а в ассемблере - файл windows.inc. Кроме того, для мультимедиа-функций (например, PlaySound) нужно подключать модуль MMSystem в Delphi, заголовочный файл mmsystem.h в C++ и mmsystem.inc в ассемблере (и прилинковать winmm.lib). Все, теперь можно вызывать API-функции.
Полное описание API-функций на англ. языке есть в MSDN и справке к Delphi.
А вот хороший справочник по Windows API на русском:
Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows.
Автор: Джеффри Рихтер
Формат: pdf
Размер файла: 97.74 Мб
Если файл не качается, то попробуйте отсюда.

И еще пара ссылок:
1. Неполный перевод MSDN на русский.
2. Старый справочник по Windows API Тараса Сороки. Давно не обновляется.

307
01 июня 2008 года
Artem_3A
863 / / 11.04.2008
Не могли бы вы подсказать какую нить книгу по WinApi, в виде справочника, ориентированную на С++. Только начинаю присматриваться к WinApi, искал в инете ни чего подходящего не нашел. Извините если вопрос глупый!
261
01 июня 2008 года
ahilles
1.5K / / 03.11.2005
смотри прерыдущий пост:
Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows. (советую) и разумеется MSDN
307
01 июня 2008 года
Artem_3A
863 / / 11.04.2008
Цитата: ahilles
смотри прерыдущий пост:
Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows. (советую) и разумеется MSDN


Спасибо за совет.
Это действительно очень хорошая книга, начинаю ее потихоньку читать, про MSDN я вообще молчу, но я ищу чуть чуть другое! Я видел справочник по WinApi+Basic, к сожалению не помню автора, где мне очень понравилось - функции разделены по категориям + пример к каждой функции, причем функции на все случаи жизни, от создания интерфейса и до функции для работы с реестром, теперь жалею, что не купил. Вот собственно что то подобное и ищу. Может кто нить что то подскажет похоже.

3.7K
08 июля 2008 года
0nni
326 / / 24.06.2008
Писал утилитку и подменял у чекбоксов оконные процедуры через SetWindowLong, и все было нормально пока не подключил манифест - проложение стало вылетать при запуске, может я что-то не так делаю? помогите
397
21 июля 2008 года
SergPas
527 / / 03.02.2007
Пожалуйста, оформляйте свои вопросы в отдельных постах!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог