Скачиваний:
20
Добавлен:
15.06.2014
Размер:
1.89 Кб
Скачать
// dll.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include <stdio.h>

#define	FNAME0	"file0.txt"
#define	FNAME1	"file1.txt"

#define	RES0	"file0.txt LONGER than file1.txt"
#define	RES1	"file0.txt SHORTER than file1.txt"
#define	RES2	"file0.txt EQUAL file1.txt"
#define	RES3	"file0.txt > file1.txt"
#define	RES4	"file0.txt < file1.txt"


BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
	HANDLE	hfile0, hfile1;	
	DWORD	dwSize0, dwSize1;
	char	cRes[280];
	char	*pRes;
	char	c0, c1;
	DWORD	r0, r1;

	if(ul_reason_for_call == DLL_PROCESS_ATTACH)
	{
		
		hfile0 = CreateFile(FNAME0, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 0);
		hfile1 = CreateFile(FNAME1, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 0);
		if(hfile0 == INVALID_HANDLE_VALUE)
		{
			MessageBox(NULL, "File open error: file0.txt", "Error", MB_OK);
			return FALSE;
		}
		if(hfile1 == INVALID_HANDLE_VALUE)
		{
			MessageBox(NULL, "File open error: file1.txt", "Error", MB_OK);
			CloseHandle(hfile0);
			return FALSE;
		}

		dwSize0 = GetFileSize(hfile0, NULL);
		dwSize1 = GetFileSize(hfile1, NULL);

		if(dwSize0 != dwSize1)
			if(dwSize0 > dwSize1) pRes = RES0;
			else 				  pRes = RES1;
		else
		{
			while(TRUE)
			{
				ReadFile(hfile0, &c0, 1, &r0, NULL);
				ReadFile(hfile1, &c1, 1, &r1, NULL);
				if(!r0)
				{
					pRes = RES2;
					break;
				}
				if(c0 > c1)
				{
					pRes = RES3;
					break;
				}
				if(c0 < c1)
				{
					pRes = RES4;
					break;
				}
				
			}
				
		}


		sprintf(cRes, "file0.txt size: %4u; file1.txt size: %4u\nResult: %s", dwSize0, dwSize1, pRes);
		MessageBox(NULL, cRes, "Results", MB_OK);

		CloseHandle(hfile0);
		CloseHandle(hfile1);

	}		
    return TRUE;
}


Соседние файлы в папке dll
  • #
    15.06.20141.89 Кб20dll.cpp
  • #
    15.06.20144.25 Кб21dll.dsp
  • #
    15.06.2014531 б21dll.dsw
  • #
    15.06.201441.98 Кб20dll.ncb
  • #
    15.06.201448.64 Кб21dll.opt
  • #
    15.06.2014240 б21dll.plg