ВУЗ:
Составители:
56
начинаются со слова Heap. Эти функции создают и поддерживают непрерывный
блок виртуальной памяти, из которого можно выделять память более мелкими
блоками. Следует начинать с вызова функции HeapCreate. Затем, использовать
функции HeapAllocate, HeapReAllocate и HeapFree для выделения и освобождения
блоков памяти в рамках «кучи».
Задание:
1. Написать программу:
– средствами Win32 API выделяющая память для массива размерностью M на
N, размерность вводится с клавиатуры;
– случайным образом заполняется весь массив информацией;
– необходимо в каждой строке найти элемент с наименьшим значением, а
затем среди этих чисел найти наибольшее. На экран вывести индексы этого
элемента, а также все элементы матрицы.
Контрольные вопросы:
1. Какие средства поддерживает язык C/C++ для управления памятью?
2. Назовите основные флаги функции GlobalAlloc и их назначение?
3. Чем отличаются функции Global и Local?
4. Какими функциями предпочтительнее выделять память для функций Win32API?
Для самостоятельного изучения:
1. Методы C/C++ выделения памяти.
4.10 Дочерние окна и управление «чужим» приложением
Некоторые из окон Windows являются дочерними – т.е. помещаются в
клиентской области другого, родительского окна. Если известен дескриптор
некоторого окна, то можно получить указатель на его родительское окно с помощью
функции:
Функция GetParent
HWND GetParent
(
HWND hWnd // дескриптор дочернего окна
);
Параметры:
hWnd – идентифицирует окно, дескриптор родительского окна которого должен
быть найден.
Возвращаемые значения
Если функция завершилась успешно, возвращаемое значение – дескриптор
родительского окна. Если у окна нет родительского окна, возвращаемое значение –
NULL. Чтобы получить более подробную информацию об ошибке, вызовите
GetLastError.
начинаются со слова Heap. Эти функции создают и поддерживают непрерывный
блок виртуальной памяти, из которого можно выделять память более мелкими
блоками. Следует начинать с вызова функции HeapCreate. Затем, использовать
функции HeapAllocate, HeapReAllocate и HeapFree для выделения и освобождения
блоков памяти в рамках «кучи».
Задание:
1. Написать программу:
– средствами Win32 API выделяющая память для массива размерностью M на
N, размерность вводится с клавиатуры;
– случайным образом заполняется весь массив информацией;
– необходимо в каждой строке найти элемент с наименьшим значением, а
затем среди этих чисел найти наибольшее. На экран вывести индексы этого
элемента, а также все элементы матрицы.
Контрольные вопросы:
1. Какие средства поддерживает язык C/C++ для управления памятью?
2. Назовите основные флаги функции GlobalAlloc и их назначение?
3. Чем отличаются функции Global и Local?
4. Какими функциями предпочтительнее выделять память для функций Win32API?
Для самостоятельного изучения:
1. Методы C/C++ выделения памяти.
4.10 Дочерние окна и управление «чужим» приложением
Некоторые из окон Windows являются дочерними – т.е. помещаются в
клиентской области другого, родительского окна. Если известен дескриптор
некоторого окна, то можно получить указатель на его родительское окно с помощью
функции:
Функция GetParent
HWND GetParent
(
HWND hWnd // дескриптор дочернего окна
);
Параметры:
hWnd – идентифицирует окно, дескриптор родительского окна которого должен
быть найден.
Возвращаемые значения
Если функция завершилась успешно, возвращаемое значение – дескриптор
родительского окна. Если у окна нет родительского окна, возвращаемое значение –
NULL. Чтобы получить более подробную информацию об ошибке, вызовите
GetLastError.
56
