Eksport funkcji z DLL

0

Mam taką funkcję w DLL:

void StartRecording(bool State, HINSTANCE hInstance)
{
	if (State == true)
	{
		g_RecordHook = SetWindowsHookEx(WH_GETMESSAGE, &RecordProc, g_hInst, 0);
    }
    else
    {
        UnhookWindowsHookEx(g_RecordHook);
    }
 }

Chciałbym ją wyeksportować, ale nie wiem jak. Czy ktoś mógłby napisać potrzebny kod? Nie wiem też, co zmienić w dll.h. Na stronie http://cpp0x.pl jest artykuł o DLL i go sprawdzałem, ale nie działa. Szukałem w Google, ale znalazłem tylko eksport Delphi. O C++ nie ma mowy. Używam Dev-C++ i systemu Windows.

0

Jak byś poszukał to znalazłbyś np. to :/
http://4programmers.net/Forum/C_i_C++/52627-Tworzenie_DLL

0

Piszesz mi e-mail, że w tym linku nie ma nic o eksportowaniu funkcji, a linijka

LIBRARY asdf
EXPORTS
costam
costam_innego
evil_costam

to niby co?

Mi sięwydaje, że kolega dość obszernie wytłumaczył co i jak?

Tworzysz plik z rozszerzeniem def a w nim piszesz:

LIBRARY    <nazwa_biblioteki>
EXPORTS

StartRecording	
0

tak ale nie chodzi mi o .def, bo z tego co wiem trzeba wszystko zapisać w dllmain.cpp jako extern "C" {}

0
new Programer napisał(a)

tak ale nie chodzi mi o .def, bo z tego co wiem trzeba wszystko zapisać w dllmain.cpp jako extern "C" {}

Tu masz przykład: http://translate.google.pl/translate?hl=pl&langpair=en%7Cpl&u=http://en.wikipedia.org/wiki/Dynamic-link_library

extern "C" __declspec ( dllexport ) double AddNumbers ( double a , double b )
 {
    return a + b ; powrót a + b;
}

czyli u Ciebie


extern "C" __declspec ( dllexport ) void StartRecording(bool State, HINSTANCE hInstance)
{
    if (State == true)
    {
           g_RecordHook = SetWindowsHookEx(WH_GETMESSAGE, &RecordProc, g_hInst, 0);
    }
    else
    {
          UnhookWindowsHookEx(g_RecordHook);
    }
 }

O to chodziło? Działa? :/

0

dzięki, jak zadziała, to napiszę.

0

faktycznie, zadziałało. Masz u mnie duże piwo ;)

1
new Programer napisał(a)

faktycznie, zadziałało. Masz u mnie duże piwo ;)

To gdzie mam się po to piwo zgłosić? ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1