Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Выгрузка dll   Найти похожие ветки 

 
Wolffgang   (2004-10-28 16:41) [0]

Здравствуйте.

Сделал длл с формой, она создается но не показывается. При перезагрузке или если убить процесс через менеджер вываливается runtime error code 217, немного позже - system error code 1400, invalid window handle.
В onclose формы:

action:=cafree;
Form1:=nil;


код длл:

library mydll;

uses
 Windows,
 forms,
 unit1 in unit1.pas",
 unit2 in "unit2.pas";

exports
 Proc1;

var
 hFileMappingObject: THandle;
 fInit: Boolean;

{----------------------------\
|                            |
|     DLL_PROCESS_DETACH     |
|                            |
\----------------------------}

procedure DLLMain(Reason: Integer);
begin

 if Reason = DLL_PROCESS_DETACH then
 begin
   UnmapViewOfFile(lpvMem);
   CloseHandle(hFileMappingObject);
 end;

end;

{----------------------------\
|                            |
|     DLL_PROCESS_ATTACH     |
|                            |
\----------------------------}

begin
 DLLProc := @DLLMain;

 hFileMappingObject := CreateFileMapping(
   THandle($FFFFFFFF),
   nil,                
   PAGE_READWRITE,    
   0,                  
   4096,              
   "MyDllShareMem"
 );

 if hFileMappingObject = INVALID_HANDLE_VALUE then
 begin
   ExitCode := 1;
   Exit;
 end;

 fInit := GetLastError() <> ERROR_ALREADY_EXISTS;

 lpvMem := MapViewOfFile(hFileMappingObject,FILE_MAP_WRITE,0,0,0);

 if lpvMem = nil then
 begin
   CloseHandle(hFileMappingObject);
   ExitCode := 1;
   Exit;
 end;

 if fInit then
   FillChar(lpvMem, PSIZE, #0);

end.


 
Digitman ©   (2004-10-28 17:01) [1]

галиматья какая-то ...


 
Wolffgang   (2004-10-28 17:15) [2]

никакая это не галиматья...

это рабочий код длл-ки кейлоггера и все в нем нормально, все работает.

единственная проблема - при уничтожении процесса, как я понимаю, возникает ошибка при уничтожении формы.


 
Digitman ©   (2004-10-28 17:23) [3]

все равно галиматья


 
Wolffgang   (2004-10-28 17:25) [4]

что конкретно не понятно?


 
Digitman ©   (2004-10-28 17:32) [5]

уже вот это

  ExitCode := 1;
  Exit;

наводит на сташные подозрения.


 
Wolffgang   (2004-10-29 16:00) [6]

>галиматья какая-то ...

hook и yandex

http://delphi.softclub.net/read/akdelfaq.html

и еще куча страниц с такими же исходниками

неужели никто не заметил ошибку, если она есть?

> наводит на сташные подозрения.

деисвитлнно :)

оставим поэзию поэтам.

вопрос: можете ли вы подсказать возможность корректной выгрузки формы? думаю, я ошибаюсь именно в этом моменте, т.к. если ее не создавать то исключения не возникают.


 
Digitman ©   (2004-10-29 16:11) [7]


> hook и yandex


и чего ты тычешь здесь эти "страшные слова" ?

Библия, Коран, Талмут и иже с ними - тоже претендуют на истины, однако каждый трактует эти "истины" по-своему, набивает кучу шишек, а потом пеняет на "первоисточник", мол, а какого хрена тогда там это написано ..


> неужели никто не заметил ошибку, если она есть?


да какие там "ошибки" ?
в приведенном тобой коде нет даже намека на создание/разрушение хоть одной формы .. предлагаешь их, ошибки, мне самому выдумать ? или как ?

и еще вопрос ...

ты случаем не для глоб.хука эту ДЛЛ сотворяешь ?
если так, то ExitCode = 1 - это мертвому припарка.



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
10-1060688888
OlegL
2003-08-12 15:48
2004.11.14
Midas client


14-1098883567
WondeRu
2004-10-27 17:26
2004.11.14
delphiМАСТЕР и delphiМАРГАРИТА :-) Булгаков, что еще....?


14-1098390278
123
2004-10-22 00:24
2004.11.14
Кнут.


1-1098857205
sapsi
2004-10-27 10:06
2004.11.14
Прокрутка грида колесиком мыши


14-1099034917
AlexG
2004-10-29 11:28
2004.11.14
А почему на форуме обсждаются бессмысленные темы?