Komunikat
, która wyświetla okno MessageBox z zadanym w argumencie komunikatem, void Komunikat(TCHAR *tekst);
__declspec(dllexport)
Kompilator C++ „magluje” nazwy funkcji. Aby temu zapobiec można zadeklarować funkcje oraz zmienne eskortowane z biblioteki za pomocą
exterm "C" {...}
.dll
oraz .lib
. DumpBin.exe /EXPORTS plik.dll DumpBin.exe /IMPORTS plik.dll
Narzędzie DumpBin
dostarczane jest w ramach Common Tools for Visual C++
i jeżeli jest zainstalowane to można go używać w linii komend Developer Command Prompt
z Menu Start
MojaKlasa
zawierającą metodę publiczną Komunikat
działającą identycznie jak powyższa funkcja.__declspec(dllimport)
. Spróbuj tak przygotować plik nagłówkowy aby mógł być współdzielony zarówno przy budowaniu biblioteki DLL jak i przy budowaniu projektu aplikacji wykorzystującej tą bibliotekę.
.exe
DLL_PROCESS_ATTACH
)DLL_THREAD_ATTACH
.exe
Utwórz program zakładający hak przechwytujący globalnie próbę zamknięcia dowolnego okna za pomocą skrótu klawiszowego Alt+F4
. W tym celu wykonaj następujące kroki:
lParam
) Przydatne funkcje:
HHOOK SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);
BOOLUnhookWindowsHookEx(HHOOK hhk);
LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam);