#include<windows.h>

typedef BOOL (*FUNKCJA)();

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
	LPSTR lpCmdLine, int nCmdShow)
{
	MessageBox(0, TEXT("Program zapobiega \nzamyaniu okien \nklawiszami ALT+F4"), TEXT("Program hak"), 0);

	HMODULE dll = LoadLibrary(TEXT("hak"));
	if(dll == NULL)
	{
		MessageBox(NULL, TEXT("Problem z zaladowaniem biblioteki"), TEXT(""), MB_OK);
		return 1;
	}

	FUNKCJA UstawHak = (FUNKCJA)GetProcAddress(dll, "UstawHak");
	if(UstawHak == NULL)
	{
		MessageBox(NULL, TEXT("Problem z pobraniem adresu funkcji UstawHak"), TEXT(""), MB_OK | MB_ICONERROR);
		return 1;
	}
	
	BOOL rezultat = UstawHak();
	if(rezultat == false) MessageBox(NULL, TEXT("Założenie haka nie powiodło się"), TEXT(""), MB_OK | MB_ICONERROR);

	MSG Msg;
	while (GetMessage(&Msg, NULL, 0, 0) > 0)
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}

	FUNKCJA UsunHak = (FUNKCJA)GetProcAddress(dll, "UsunHak");
	if(UstawHak == NULL)
	{
		MessageBox(NULL, TEXT("Problem z usuwaniem haka"), TEXT(""), MB_OK | MB_ICONERROR);
		return 1;
	}
	
	rezultat = UsunHak();
	if (rezultat == false) MessageBox(NULL, TEXT("Problem z usuwaniem haka"), TEXT(""), MB_OK | MB_ICONERROR);

	FreeLibrary(dll);
	
	return 0;
}
