Программирование для Windows NT (том 2)



         

Приложение DLLCALL


Приложение DLLCALL работает совместно с DLL-библиотекой DLLDemo.DLL, описанной в предыдущем разделе.

Главное окно приложения DLLCALL и меню File показано на рис. 3.7.

Рис. 3.7. Главное окно приложения DLLCALL

Если из меню File выбрать строку Find App Window, на экране появится диалоговая панель Find Application Window, показанная на рис. 3.8.

Рис. 3.8. Диалоговая панель Find Application Window

Здесь в поле Enter application window title to find вы должны ввести заголовок окна приложения. Если приложение с таким заголовком запущено, оно будет найдено, после чего на экране появится соответствующее сообщение (рис. 3.9).

Рис. 3.9. Сообщение о том, что заданное окно найдено

При инициализации DLL-библиотеки, вызванной подключением процесса DLLCALL, на экране возникает сообщение, показанное на рис. 3.10.

Рис. 3.10. Собщение о подключении процесса к DLL-библиотеке

Когда приложение DLLCALL отключается от DLL-библиотеки, на экран выводится сообщение, показанное на рис. 3.11.

Рис. 3.11. Сообщение об отключении процесса от DLL-библиотеки

Главный файл исходных текстов приложения DLLCALL представлен в листинге 3.4.

Листинг 3.4. Файл dlldemo\dllcall\dllcall.c

// ==================================================

// Приложение DLLCall

// Вызов функции из DLL-библиотеки

//

// (С) Фролов А.В., 1996

// Email: frolov@glas.apc.org

// ==================================================

#define STRICT

#include <windows.h>

#include <windowsx.h>

#include "resource.h"

#include "afxres.h"

#include "dllcall.h"

// Определяем тип: указатель на функцию

typedef HWND (WINAPI *MYDLLPROC)(LPSTR);

// Указатель на функцию, расположенную в

// DLL-библиотеке

MYDLLPROC GetAppWindow;

// Буфер для заголовка окна, поиск которого

// будет выполняться

char szWindowTitle[512];

// Идентификатор DLL-библиотеки

HANDLE hDLL;

HINSTANCE hInst;

char szAppName[]  = "DLLCallApp";




Содержание  Назад  Вперед