Извините, эта тема здесь уже поднималась, но я так и не нашел разрешения своей проблемы:
По рекомендациям MSDN написал библиотеку:
#include <windows.h>
#include <SysUtils.hpp>
#include "Winwlx.h"
#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
switch (fwdreason)
{
case DLL_PROCESS_ATTACH:
{
//Disable DLL_THREAD_ATTACH & DLL_THREAD_DETACH
//notification calls. This is a performance optimization
//for multi-threaded applications that do not need
//thread-level notifications of attachment or detachment.
DisableThreadLibraryCalls (hinstDLL);
}
break;
}
return TRUE;
}
extern "C" VOID __declspec(dllexport) WLEventLock(PWLX_NOTIFICATION_INFO pInfo)
{ int fHandle;
FileCreate("C:\\Logons.txt");
FileWrite(fHandle,IntToStr(Now()).c_str(),StrLen(IntToStr(Now()).c_str()));
FileWrite(fHandle,"\n",StrLen("\n"));
FileWrite(fHandle,"User logoff : ",StrLen("User logoff : "));
AnsiString buf;
buf =pInfo->UserName;
FileWrite(fHandle,buf.c_str(),StrLen(buf.c_str()));
FileWrite(fHandle,"\n",StrLen("\n"));
FileClose(fHandle);
}
(реализация — Borland CBuilder 6)
так вот, если цеплятьс як этой DLL из какой нибудь проги, то все нормально, а Winlogon ее не загружает, по-видимому(((
В чем может быть ошибка?
Спасибо