![]() |
|
معرفة function المصدرة من مكتبة DLL - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14) +--- الموضوع : معرفة function المصدرة من مكتبة DLL (/showthread.php?tid=1684) |
معرفة function المصدرة من مكتبة DLL - paix144 - 18-02-2010 السلام عليكم هذا البرنامج وجدته في إحدى المواقع و هو يستعمل لمعرفة function المصدرة من مكتبة DLL معرفة function المصدرة من مكتبة DLL - kachwahed - 18-02-2010 وعليكم السلام ورحمة الله بارك الله لك أخي paix144 مثال جميل المثال يستخدم المكتبة المضمنة ImageHlp تحمل هذه المكتبة أغراض مفيدة لبعض الأعمال مثال SearchForFile للبحث عن ملفات: كود : uses
ImageHlp;
function SearchForFile(const ARootPath: string;
const AFileName: string;
var APathFound: string): Boolean;
var
Found: array[0..500] of Char;
begin
FillChar(Found, SizeOf(Found), #00);
Result := (SearchTreeForFile(PChar(ARootPath), PChar(AFileName), Found) = True);
APathFound := ExtractFilePath(Found);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
APathFound: string;
begin
if SearchForFile('C:\WINDOWS\', 'winhlp32.exe', APathFound) then
ShowMessage('winhlp32.exe found in: ' + APathFound);
end;مثال آخر لاختبار الملفات Checksum: PHP كود : uses Windows, ImageHlp;شكرا كثيرا. معرفة function المصدرة من مكتبة DLL - paix144 - 18-02-2010 و فيكم بارك الله ما قمت بطرحه من دالات مهم جدا المثال الذي طرحته مبرمج من طرف Sephiroth Lune بالتوفيق أخي معرفة function المصدرة من مكتبة DLL - cargem - 21-06-2011 هناك خطا عند استخدام dxe إقتباس : result := (searchtreeforfile(pchar(arootpath), pchar(afilename), إقتباس :[dcc error] unit1.pas(35): E2010 incompatible types: 'pansichar' and 'pwidechar' كيف نحل المشكلة؟ معرفة function المصدرة من مكتبة DLL - Lam.Abdeldjalil - 21-06-2011 السلام عليكم إقتباس : هناك خطا عند استخدام dxe كود : function SearchForFile(const ARootPath: string;
const AFileName: string;
var APathFound: string): Boolean;
var
Found: array[0..500] of ansichar;
begin
FillChar(Found, SizeOf(Found), #00);
Result := (SearchTreeForFile(PansiChar(AnsiString (ARootPath)), PansiChar(AnsiString (AFileName)), Found) = True);
APathFound := ExtractFilePath(string(Found));
end;معرفة function المصدرة من مكتبة DLL - cargem - 21-06-2011 وعليكم السلام انت مبدع بكل معنى الكلمة دائما يصادفني هذا الخطا عند وجود char الحل هو تحويلة كود : PChar(ARootPath)كود : PansiChar(AnsiString(ARootPath)كود : ansicharالى كود : string(Found)يعني تغليف يرجع type الى الاصل معرفة function المصدرة من مكتبة DLL - cargem - 22-06-2011 كيف نستخرج عنوان Method وننفذه كود : procedure ListDLLExports(const FileName: string; List: TStrings);
type
TDWordArray = array [0 .. $FFFFF] of DWORD;
var
imageinfo: LoadedImage;
pExportDirectory: PImageExportDirectory;
dirsize: Cardinal;
pDummy: PImageSectionHeader;
i: Cardinal;
pNameRVAs: ^TDWordArray;
Name, AddressOfFunctions: string;
begin
List.Clear;
(* function MapAndLoad(ImageName, DllPath: LPSTR; LoadedImage: PLoadedImage;
DotDll, ReadOnly: Bool): Bool; stdcall; *)
if MapAndLoad(PAnsiChar(AnsiString(FileName)), nil, @imageinfo, True,
True) then
begin
try
// Form1.Label2.Caption :='Address Of Dll = ' + AnsiString(@imageinfo) ;
pExportDirectory := ImageDirectoryEntryToData(imageinfo.MappedAddress,
False, IMAGE_DIRECTORY_ENTRY_EXPORT, dirsize);
if (pExportDirectory <> nil) then
begin
pNameRVAs := ImageRvaToVa(imageinfo.FileHeader, imageinfo.MappedAddress,
DWORD(pExportDirectory^.AddressOfNames), pDummy);
for i := 0 to pExportDirectory^.NumberOfNames - 1 do
begin
Name := PAnsiChar(ImageRvaToVa(imageinfo.FileHeader,
imageinfo.MappedAddress, pNameRVAs^[i], pDummy));
// AddressOfFunctions := PAnsiChar(pExportDirectory^.AddressOfFunctions) ;
List.Add(Name);
end;
end;
finally
UnMapAndLoad(@imageinfo);
end;
end;
end; |