powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задекларить ф-цию в длл?
8 сообщений из 8, страница 1 из 1
Как задекларить ф-цию в длл?
    #32897447
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, написал Длл:

#pragma argsused

HHOOK SysHook = 0;
HWND Wnd = 0;

LRESULT CALLBACK SysMsgProc(int code, WPARAM wParam, LPARAM lParam)
{
CallNextHookEx(SysHook, code, wParam, lParam);
if(code == HC_ACTION)
{
Wnd = ((TMsg*)lParam)->hwnd;
if(((TMsg*)lParam)->message == WM_LBUTTONDOWN)
if( (((TMsg*)lParam)->wParam & MK_CONTROL) == MK_CONTROL )
{
SendMessage(Wnd, EM_SETPASSWORDCHAR, 0, 0);
InvalidateRect(Wnd, NULL, true);
}
}
}
//---------------------------------------------------------------------------
void RunStopHook(BOOL State)
{
if(State)
SysHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)SysMsgProc, HInstance, 0);
else
{
UnhookWindowsHookEx(SysHook);
SysHook = 0;
}
}
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
// HInstance = hinst;
return 1;
}



Как задекларить ф-0цию void RunStopHook(BOOL State), чтоб её вызвать можно было?
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897476
kulpavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
откуда вызвать?
вы хотите экспортировать эту ф-цию?
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897543
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, в такой варианте функцию вызвать нельзя, что мне дописать, чтоб она вызывалась?
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897609
kulpavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать
__declspec(dllexport) void RunStopHook(BOOL State)
и в опциях компилятора поставить,чтобы он делал .lib или написать свой .def
а в месте где пользуете объявить
как
__declspec(dllimport) void RunStopHook(BOOL State)
и подключить к проекту .lib
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897799
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот новая ошибка появилась: Unresolved external RunStopHook(int) in G:\....\core.obj

Может кто-то нормальный пример дать?
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897820
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, даю Длл и либ, кому не в лом, попытайтесь вызвать из неё ф-цию RunStopHook(true). Заранее благодарен за помощь.
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32897826
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, вот файлы
...
Рейтинг: 0 / 0
Как задекларить ф-цию в длл?
    #32898096
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот окончательная вкрсия, ну блин, как же её вызвать(StopRunHook)!?!?!?
Помогите, кому не влом, пожалуйста. Компилер: Билдер5


#include <windows.h>
#include <messages.hpp>

#pragma argsused
HINSTANCE g_hMod;
HHOOK SysHook = 0;
HWND Wnd = 0;

LRESULT CALLBACK SysMsgProc(int code, WPARAM wParam, LPARAM lParam)
{
CallNextHookEx(SysHook, code, wParam, lParam);
if(code == HC_ACTION)
{
Wnd = ((TMsg*)lParam)->hwnd;
if(((TMsg*)lParam)->message == WM_LBUTTONDOWN)
if( (((TMsg*)lParam)->wParam & MK_CONTROL) == MK_CONTROL )
{
SendMessage(Wnd, EM_SETPASSWORDCHAR, 0, 0);
InvalidateRect(Wnd, NULL, true);
}
}
}
//---------------------------------------------------------------------------
extern "C" _stdcall void CALLBACK RunStopHook(BOOL State)
{
if(State)
SysHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)SysMsgProc, g_hMod, 0);
else
{
UnhookWindowsHookEx(SysHook);
SysHook = 0;
}
}
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
g_hMod = hinst;
return 1;
}
//---------------------------------------------------------------------------
/*
__declspec(dllexport) void RunStopHook(BOOL State);
__declspec(dllimport) void RunStopHook(BOOL State);
*/
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задекларить ф-цию в длл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]