Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Выгрузка 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
3-1097653399
Lex_!
2004-10-13 11:43
2004.11.14
Динамическое изменение пути к базе в БДЕ


3-1097501972
iat
2004-10-11 17:39
2004.11.14
QReport "периодически" не позволяет печатать


14-1098977679
Silla
2004-10-28 19:34
2004.11.14
Visual C++ 6&amp;7 Forum


14-1098637329
zokzok
2004-10-24 21:02
2004.11.14
Как написать чат?


6-1089186146
Joni Qwest
2004-07-07 11:42
2004.11.14
Как лучше посылать сообщения по сети?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский