Главная страница
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.045 c
8-1092301028
tarantino
2004-08-12 12:57
2004.11.14
видеопоток из устройст ввода видео


14-1098772647
ИМХО
2004-10-26 10:37
2004.11.14
What is MSN? (Мазуту, Алексу и всем-всем-всем)


1-1098943435
333and
2004-10-28 10:03
2004.11.14
Аналог функции С++ в Delphi


3-1097824876
nv
2004-10-15 11:21
2004.11.14
MIDAS - информация о клиенте.


14-1098344148
Игорь Шевченко
2004-10-21 11:35
2004.11.14
Ничего себе...