الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]تحليل برنامج و معرفه فكرة عمله

مغلق
بدأه tmaaa في 6 مارس 2003 · 23 رد · 5,945 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الموضوع ليس تحديا ( التحدي مخالف لقوانين المنتدى , اضف الى ذلك اني اكره التحدي ) . اسم الموضوع فقط للاثاره ليس الا .

سأرفق ملف فيه برنامج يعطل عمل Ctrl+Alt+Del في نظام WinXP ( طبعا ينفع مع winnt/2k ). تم فحص البرنامج من موقعين يوفران online virus scan ( زياده في الاحتياط يفضل عمل scan virus للملف المرفق ).

المطلوب تحليل للبرنامج ومعرفه فكرة عمله كامله .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#2

هذا هو الملف :

ligia_ntdiscad_test.zip

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#3

السلام عليكم

طبعا عجزت عن معرفة فكرة عمل البرنامج ، كنت متوقع أن تكون باستخدام hook keyboard او شيء من هذا القبيل او باستخدام توابع GINA dll التي اسمع عنها فقط :(

بالنهاية سويت dumpbin للبرنامج واتوقع ان التوابع المسؤولة عن تعطيل عمل المفاتيح هي

AdjustTokenPrivileges

LookupPrivilegeValue

سأبحث عنها في ال MSDN لمعرفة عملها وبانتظار ردك اخ tmaaa

(f)

#4

أعتقد ان البرنامج زاد تعقيدا لأنه يعمل extract ينتج عنه ملف أخر testdll.dll والغريب ان ملف ال dll لا يصدر اي تابع للبرنامج :confused: فما الفائدة منه

#5

السلام عليكم

جيد اخ mhammad . ( تعمدت عدم ذكر هذه النقطه لأرى من سيصل لها ).

هذه هي اول خطوه وقد قمت بذكر حلها .

اقتباس
والغريب ان ملف ال dll لا يصدر اي تابع للبرنامج  فما الفائدة منه

ملف dll ليس بالضروره ان يحوي export function ليستفاد منه .

اتمنى انك تستمر في التحليل.

اعلنها صريحه : اتحدى كل المبرمجين الموجودين هنا في ايجاد فكره البرنامج .( شخصيا لا اعلم الفكره بالضبط ).

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#6

السلام عليكم

أخ tmaaa حاولت كثيرا أن أصل الى طرف الخيط ولكن بدون فائدة ، يعني بتقدر تقول عجزت

اقتباس
اتمنى انك تستمر في التحليل

يا ريت ولكن أعتقد أن هذا البرنامج بحاجة الى واحد متخصص بالأسمبلي ، وعنده معرفة تامة بأغلب الطرق التي يستطيع من خلالها تعطيل ctrl+alt+del في الويندوز 2000 و xp ، اضافة الى معرفته في ال PE format

 imports testdll.dll

 Name: .adata

  Virtual Address:    1003A000h  Virtual Size:    00001000h

 Pointer To RawData: 0000CC00h  Size Of RawData: 00000000h



 Imports from kernel32.dll



  extrn GetProcAddress

  extrn GetModuleHandleA

  extrn LoadLibraryA



 Imports from user32.dll



  extrn GetWindowTextA

ما أعرفه أن كل البرامج التي تعمل في بيئة ويندوز تقوم بالنهاية بمناداة توابع API لتقوم بالمطلوب منها ، وكما ترى فوق البرنامج ينادي 4 توابع فقط ، هذا كله اذا افترضنا أن ملف ال dll هو اللي يقوم بتعطيل المفاتيح أي عندما تضغط Load يقوم البرنامج بتشغيل ملف ال dll كما لو أنه ملف exe

شئ أخر : الملف حجمه 51 كيلو بايت ويعتبر كبير نسبيا وأعتقد لأنه يحتوي على ال debug data فهل لهذه الداتا أي فائدة هنا

على العموم سأقوم بمحاولات أخرى ولكن بعد التوسع بالمواضيع التي ذكرتها فوق ...

شكرا اخ tmaaa على الموضوع (f)

#7

السلام عليكم

شكرا اخ محمد للاهتمام بالموضوع .

اقتباس
الملف حجمه 51 كيلو بايت

الملفات مضغوطه , عليك ان تفك ضغطها و تبدأ من جديد ....

:D:p

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#8

السلام عليكم

اقتباس
لأنه يعمل extract ينتج عنه ملف أخر testdll.dll

يعني انا فكيت الضغط :)

أما ملف ال dll فليس مضغوط

#9

السلام عليكم

اقصد ان الملفات exe& dll عمل لها Compress بادوات تدعى PE File Compressor. عليك ان تعرف ما هو الـ Compressor المستخدم ثم .....

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#10

Alt+Ctrl+Delete تعمل بشكل طبيعي على 98 ...

والبرنامج مشفر ب upx وحجم الملف هو 285kb

=====

اعتقد ان البرنامج يحتوي على اسرار ومنها ربما

انه يبحث عن ملفين وهما

ntdiscad.exe

testdll.dll

بأستخدام ال api

KERNEL32.GetFileType

اليس صحيح؟؟

كما ان البرنامج يحتوي على اربع dialogs

USER32.DialogBoxParamA

اليس صحيح؟

(f)

#11

السلام عليكم

أخ حسين الحداق

كما ذكرت سابقا .

عليك اولا بفك ضغط الملف ligia_ntdiscad_test.exe بواسطه winrar , سينتج عن ذلك ملفين ntdiscad.exe ,testdll.dll .

ثم ابدأ في الخطوه الثانيه وهي استخدام برنامج يفك ضغط PE Compressor .

ثم ابدأ .....

حظ موفق

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#12

السلام عليكم

أخ tmaaa هل يوجد طريقة معينة لمعرفة إسم البرنامج التي تمت به عملية الضغط ، جربت كل البرامج التي في الوصلة هذه

http://212.14.34.87/~devon/kompresorye.html

إضافة لمجموعة أخرى ولكن لم يتم الضغط بواسطة أي منها

أخ حسين البرنامج لم يتم ضغطه بواسطة upx

(f)

#13

السلام عليكم

استخدم PEiDentifier لدي V0.8 .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#14

اخ mhammed

انا متأكد البرنامج مشفر ب upx

Object01: UPX0     RVA: 00001000 Offset: 00000400 Size: 00000000 Flags: E0000080

Object02: UPX1     RVA: 00013000 Offset: 00000400 Size: 00009800 Flags: E0000040

Object03: .rsrc    RVA: 0001D000 Offset: 00009C00 Size: 00001C00 Flags: C0000040

استخدم البرنامج نفسة لفك تشفيرة

#15

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته

الاخ tmaaa

هل هناك اي حافز او حتى فائده لأي شخص حتى تحفزنا للبحث معكم

أرجو الرد حتى لا يضيع الوقت فيما لا ينفع

اخوكم مجاهد

#16

بعد فك البرنامج بالوينرار نحصل على ملفين كلاهما مشفر بال aspack

و نفك التشفير لهما ب aspackdie

ولقد لاحظت ان الملف التنفيذي مبرمج ب delfi 6

وبالنسبة للملف ntdiscad_exe

يستدعي التوابع التالية من المكتبات dll

وهي

من advapi32.dll

التوابع التالية

function RegQueryValueEx(hKey: HKEY; lpValueName: PAnsiChar;
      lpReserved: Pointer; lpType: PDWORD; lpData: PByte;
      lpcbData: PDWORD): Longint; stdcall;
      external 'advapi32.dll' name 'RegQueryValueExA' index 424; 

function RegOpenKeyEx(hKey: HKEY; lpSubKey: PAnsiChar; ulOptions: DWORD;
      samDesired: REGSAM; var phkResult: HKEY): Longint; stdcall;
      external 'advapi32.dll' name 'RegOpenKeyExA' index 414; 

function RegCloseKey(hKey: HKEY): Longint; stdcall;
      external 'advapi32.dll' name 'RegCloseKey' index 389; 


function RegQueryValueEx(hKey: HKEY; lpValueName: PAnsiChar;
      lpReserved: Pointer; lpType: PDWORD; lpData: PByte;
      lpcbData: PDWORD): Longint; stdcall;
      external 'advapi32.dll' name 'RegQueryValueExA' index 424; 

function RegOpenKeyEx(hKey: HKEY; lpSubKey: PAnsiChar; ulOptions: DWORD;
      samDesired: REGSAM; var phkResult: HKEY): Longint; stdcall;
      external 'advapi32.dll' name 'RegOpenKeyExA' index 414; 

function RegCloseKey(hKey: HKEY): Longint; stdcall;
      external 'advapi32.dll' name 'RegCloseKey' index 389; 

function OpenProcessToken(ProcessHandle: THandle; DesiredAccess: DWORD;
      var TokenHandle: THandle): BOOL; stdcall;
      external 'advapi32.dll' name 'OpenProcessToken' index 360; 

function LookupPrivilegeValue(lpSystemName, lpName: PAnsiChar;
      var lpLuid: TLargeInteger): BOOL; stdcall;
      external 'advapi32.dll' name 'LookupPrivilegeValueA' index 281; 

function AdjustTokenPrivileges(TokenHandle: THandle;
      DisableAllPrivileges: BOOL; const NewState: TTokenPrivileges;
      BufferLength: DWORD; var PreviousState: TTokenPrivileges;
      var ReturnLength: DWORD): BOOL; stdcall;
      external 'advapi32.dll' name 'AdjustTokenPrivileges' index 29;

من comctl32.dll

التوابع التالية

function ImageList_SetIconSize(ImageList: HImageList; CX, CY: Integer): BOOL;
      stdcall; external 'comctl32.dll' name 'ImageList_SetIconSize' index 79; 

function ImageList_GetIconSize(ImageList: HImageList; var CX,
      CY: Integer): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_GetIconSize' index 59; 

function ImageList_Write(ImageList: HImageList; Stream: IStream): BOOL;
      stdcall; external 'comctl32.dll' name 'ImageList_Write' index 82; 

function ImageList_Read(Stream: IStream): HImageList; stdcall;
      external 'comctl32.dll' name 'ImageList_Read' index 67; 

function ImageList_GetDragImage(Point, HotSpot: PPoint): HImageList; stdcall;
      external 'comctl32.dll' name 'ImageList_GetDragImage' index 56; 

function ImageList_DragShowNolock(Show: Bool): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_DragShowNolock' index 49; 

function ImageList_SetDragCursorImage(ImageList: HImageList; Drag: Integer;
      XHotSpot, YHotSpot: Integer): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_SetDragCursorImage' index 76; 

function ImageList_DragMove(X, Y: Integer): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_DragMove' index 48; 

function ImageList_DragLeave(LockWnd: HWnd): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_DragLeave' index 47; 

function ImageList_DragEnter(LockWnd: HWnd; X, Y: Integer): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_DragEnter' index 46; 

function ImageList_EndDrag: BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_EndDrag' index 54; 

function ImageList_BeginDrag(ImageList: HImageList; Track: Integer; XHotSpot,
      YHotSpot: Integer): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_BeginDrag' index 42; 

function ImageList_Remove(ImageList: HImageList; Index: Integer): BOOL;
      stdcall; external 'comctl32.dll' name 'ImageList_Remove' index 68; 

function ImageList_DrawEx(ImageList: HImageList; Index: Integer; Dest: HDC; X,
      Y, DX, DY: Integer; Bk, Fg: TColorRef; Style: Cardinal): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_DrawEx' index 51; 

function ImageList_Draw(ImageList: HImageList; Index: Integer; Dest: HDC; X,
      Y: Integer; Style: UINT): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_Draw' index 50; 

function ImageList_GetBkColor(ImageList: HImageList): TColorRef; stdcall;
      external 'comctl32.dll' name 'ImageList_GetBkColor' index 55; 

function ImageList_SetBkColor(ImageList: HImageList;
      ClrBk: TColorRef): TColorRef; stdcall;
      external 'comctl32.dll' name 'ImageList_SetBkColor' index 75; 

function ImageList_ReplaceIcon(ImageList: HImageList; Index: Integer;
      Icon: HIcon): Integer; stdcall;
      external 'comctl32.dll' name 'ImageList_ReplaceIcon' index 70; 

function ImageList_Add(ImageList: HImageList; Image, Mask: HBitmap): Integer;
      stdcall; external 'comctl32.dll' name 'ImageList_Add' index 39; 

function ImageList_GetImageCount(ImageList: HImageList): Integer; stdcall;
      external 'comctl32.dll' name 'ImageList_GetImageCount' index 60; 

function ImageList_Destroy(ImageList: HImageList): BOOL; stdcall;
      external 'comctl32.dll' name 'ImageList_Destroy' index 45; 

function ImageList_Create(CX, CY: Integer; Flags: UINT; Initial,
      Grow: Integer): HImageList; stdcall;
      external 'comctl32.dll' name 'ImageList_Create' index 44;

من gdi32.dll

التوابع التالية

function UnrealizeObject(hGDIObj: HGDIOBJ): BOOL; stdcall;
      external 'gdi32.dll' name 'UnrealizeObject' index 529; 

function StretchBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC;
      XSrc, YSrc, SrcWidth, SrcHeight: Integer; Rop: DWORD): BOOL; stdcall;
      external 'gdi32.dll' name 'StretchBlt' index 520; 

function SetWindowOrgEx(DC: HDC; X, Y: Integer; Point: PPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'SetWindowOrgEx' index 514; 

function SetWinMetaFileBits(p1: UINT; p2: PChar; p3: HDC;
      const p4: TMetaFilePict): HENHMETAFILE; stdcall;
      external 'gdi32.dll' name 'SetWinMetaFileBits' index 512; 

function SetViewportOrgEx(DC: HDC; X, Y: Integer; Point: PPoint): BOOL;
      stdcall; external 'gdi32.dll' name 'SetViewportOrgEx' index 510; 

function SetTextColor(DC: HDC; Color: COLORREF): COLORREF; stdcall;
      external 'gdi32.dll' name 'SetTextColor' index 507; 

function SetStretchBltMode(DC: HDC; p2: Integer): Integer; stdcall;
      external 'gdi32.dll' name 'SetStretchBltMode' index 503; 

function SetROP2(DC: HDC; p2: Integer): Integer; stdcall;
      external 'gdi32.dll' name 'SetROP2' index 500; 

function SetPixel(DC: HDC; X, Y: Integer; Color: COLORREF): COLORREF; stdcall;
      external 'gdi32.dll' name 'SetPixel' index 496; 

function SetEnhMetaFileBits(p1: UINT; p2: PChar): HENHMETAFILE; stdcall;
      external 'gdi32.dll' name 'SetEnhMetaFileBits' index 481; 

function SetDIBColorTable(DC: HDC; p2, p3: UINT; var RGBQuadSTructs): UINT;
      stdcall; external 'gdi32.dll' name 'SetDIBColorTable' index 477; 

function SetBrushOrgEx(DC: HDC; X, Y: Integer; PrevPt: PPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'SetBrushOrgEx' index 472; 

function SetBkMode(DC: HDC; BkMode: Integer): Integer; stdcall;
      external 'gdi32.dll' name 'SetBkMode' index 470; 

function SetBkColor(DC: HDC; Color: COLORREF): COLORREF; stdcall;
      external 'gdi32.dll' name 'SetBkColor' index 469; 

function SelectPalette(DC: HDC; Palette: HPALETTE;
      ForceBackground: Bool): HPALETTE; stdcall;
      external 'gdi32.dll' name 'SelectPalette' index 464; 

function SelectObject(DC: HDC; p2: HGDIOBJ): HGDIOBJ; stdcall;
      external 'gdi32.dll' name 'SelectObject' index 463; 

function SaveDC(DC: HDC): Integer; stdcall;
      external 'gdi32.dll' name 'SaveDC' index 456; 

function RestoreDC(DC: HDC; SavedDC: Integer): BOOL; stdcall;
      external 'gdi32.dll' name 'RestoreDC' index 449; 

function Rectangle(DC: HDC; X1, Y1, X2, Y2: Integer): BOOL; stdcall;
      external 'gdi32.dll' name 'Rectangle' index 439; 

function RectVisible(DC: HDC; const Rect: TRect): BOOL; stdcall;
      external 'gdi32.dll' name 'RectVisible' index 438; 

function RealizePalette(DC: HDC): UINT; stdcall;
      external 'gdi32.dll' name 'RealizePalette' index 436; 

function PlayEnhMetaFile(DC: HDC; p2: HENHMETAFILE; const p3: TRect): BOOL;
      stdcall; external 'gdi32.dll' name 'PlayEnhMetaFile' index 417; 

function PatBlt(DC: HDC; X, Y, Width, Height: Integer; Rop: DWORD): BOOL;
      stdcall; external 'gdi32.dll' name 'PatBlt' index 414; 

function MoveToEx(DC: HDC; p2, p3: Integer; p4: PPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'MoveToEx' index 402; 

function MaskBlt(DC: HDC; p2, p3, p4, p5: Integer; p6: HDC; p7, p8: Integer;
      p9: HBITMAP; p10, p11: Integer; p12: DWORD): BOOL; stdcall;
      external 'gdi32.dll' name 'MaskBlt' index 399; 

function LineTo(DC: HDC; X, Y: Integer): BOOL; stdcall;
      external 'gdi32.dll' name 'LineTo' index 398; 

function IntersectClipRect(DC: HDC; X1, Y1, X2, Y2: Integer): Integer;
      stdcall; external 'gdi32.dll' name 'IntersectClipRect' index 394; 

function GetWindowOrgEx(DC: HDC; var Point: TPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'GetWindowOrgEx' index 390; 

function GetWinMetaFileBits(p1: HENHMETAFILE; p2: UINT; p3: PByte;
      p4: Integer; p5: HDC): UINT; stdcall;
      external 'gdi32.dll' name 'GetWinMetaFileBits' index 388; 

function GetTextMetrics(DC: HDC; var TM: TTextMetricA): BOOL; stdcall;
      external 'gdi32.dll' name 'GetTextMetricsA' index 383; 

function GetTextExtentPoint(DC: HDC; Str: PAnsiChar; Count: Integer;
      var Size: TSize): BOOL; stdcall;
      external 'gdi32.dll' name 'GetTextExtentPointA' index 377; 

function GetTextExtentPoint32(DC: HDC; Str: PAnsiChar; Count: Integer;
      var Size: TSize): BOOL; stdcall;
      external 'gdi32.dll' name 'GetTextExtentPoint32A' index 375; 

function GetSystemPaletteEntries(DC: HDC; StartIndex, NumEntries: UINT;
      var PaletteEntries): UINT; stdcall;
      external 'gdi32.dll' name 'GetSystemPaletteEntries' index 364; 

function GetStockObject(Index: Integer): HGDIOBJ; stdcall;
      external 'gdi32.dll' name 'GetStockObject' index 360; 

function GetPixel(DC: HDC; X, Y: Integer): COLORREF; stdcall;
      external 'gdi32.dll' name 'GetPixel' index 351; 

function GetPaletteEntries(Palette: HPALETTE; StartIndex, NumEntries: UINT;
      var PaletteEntries): UINT; stdcall;
      external 'gdi32.dll' name 'GetPaletteEntries' index 349; 

function GetObject(p1: HGDIOBJ; p2: Integer; p3: Pointer): Integer; stdcall;
      external 'gdi32.dll' name 'GetObjectA' index 344; 

function GetEnhMetaFilePaletteEntries(p1: HENHMETAFILE; p2: UINT;
      p3: Pointer): UINT; stdcall;
      external 'gdi32.dll' name 'GetEnhMetaFilePaletteEntries' index 312; 

function GetEnhMetaFileHeader(p1: HENHMETAFILE; p2: UINT;
      p3: PEnhMetaHeader): UINT; stdcall;
      external 'gdi32.dll' name 'GetEnhMetaFileHeader' index 311; 

function GetEnhMetaFileBits(p1: HENHMETAFILE; p2: UINT; p3: PByte): UINT;
      stdcall; external 'gdi32.dll' name 'GetEnhMetaFileBits' index 308; 

function GetDeviceCaps(DC: HDC; Index: Integer): Integer; stdcall;
      external 'gdi32.dll' name 'GetDeviceCaps' index 302; 

function GetDIBits(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT;
      Bits: Pointer; var BitInfo: TBitmapInfo; Usage: UINT): Integer; stdcall;
      external 'gdi32.dll' name 'GetDIBits' index 301; 

function GetDIBColorTable(DC: HDC; p2, p3: UINT; var RGBQuadStructs): UINT;
      stdcall; external 'gdi32.dll' name 'GetDIBColorTable' index 300; 

function GetDCOrgEx(DC: HDC; var Origin: TPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'GetDCOrgEx' index 298; 

function GetCurrentPositionEx(DC: HDC; Point: PPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'GetCurrentPositionEx' index 296; 

function GetClipBox(DC: HDC; var Rect: TRect): Integer; stdcall;
      external 'gdi32.dll' name 'GetClipBox' index 291; 

function GetBrushOrgEx(DC: HDC; var p2: TPoint): BOOL; stdcall;
      external 'gdi32.dll' name 'GetBrushOrgEx' index 275; 

function GetBitmapBits(Bitmap: HBITMAP; Count: Longint;
      Bits: Pointer): Longint; stdcall;
      external 'gdi32.dll' name 'GetBitmapBits' index 270; 

function ExcludeClipRect(DC: HDC; p2, p3, p4, p5: Integer): Integer; stdcall;
      external 'gdi32.dll' name 'ExcludeClipRect' index 157; 

function DeleteObject(p1: HGDIOBJ): BOOL; stdcall;
      external 'gdi32.dll' name 'DeleteObject' index 85; 

function DeleteEnhMetaFile(p1: HENHMETAFILE): BOOL; stdcall;
      external 'gdi32.dll' name 'DeleteEnhMetaFile' index 83; 

function DeleteDC(DC: HDC): BOOL; stdcall;
      external 'gdi32.dll' name 'DeleteDC' index 82; 

function CreateSolidBrush(p1: COLORREF): HBRUSH; stdcall;
      external 'gdi32.dll' name 'CreateSolidBrush' index 79; 

function CreatePenIndirect(const LogPen: TLogPen): HPEN; stdcall;
      external 'gdi32.dll' name 'CreatePenIndirect' index 71; 

function CreatePalette(const LogPalette: TLogPalette): HPALETTE; stdcall;
      external 'gdi32.dll' name 'CreatePalette' index 68; 

function CreateHalftonePalette(DC: HDC): HPALETTE; stdcall;
      external 'gdi32.dll' name 'CreateHalftonePalette' index 62; 

function CreateFontIndirect(const p1: TLogFontA): HFONT; stdcall;
      external 'gdi32.dll' name 'CreateFontIndirectA' index 57; 

function CreateDIBitmap(DC: HDC; var InfoHeader: TBitmapInfoHeader;
      dwUsage: DWORD; InitBits: PChar; var InitInfo: TBitmapInfo;
      wUsage: UINT): HBITMAP; stdcall;
      external 'gdi32.dll' name 'CreateDIBitmap' index 50; 

function CreateDIBSection(DC: HDC; const p2: TBitmapInfo; p3: UINT;
      var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; stdcall;
      external 'gdi32.dll' name 'CreateDIBSection' index 49; 

function CreateCompatibleDC(DC: HDC): HDC; stdcall;
      external 'gdi32.dll' name 'CreateCompatibleDC' index 44; 

function CreateCompatibleBitmap(DC: HDC; Width, Height: Integer): HBITMAP;
      stdcall; external 'gdi32.dll' name 'CreateCompatibleBitmap' index 43; 

function CreateBrushIndirect(const p1: TLogBrush): HBRUSH; stdcall;
      external 'gdi32.dll' name 'CreateBrushIndirect' index 40; 

function CreateBitmap(Width, Height: Integer; Planes, BitCount: Longint;
      Bits: Pointer): HBITMAP; stdcall;
      external 'gdi32.dll' name 'CreateBitmap' index 38; 

function CopyEnhMetaFile(p1: HENHMETAFILE; p2: PAnsiChar): HENHMETAFILE;
      stdcall; external 'gdi32.dll' name 'CopyEnhMetaFileA' index 34; 

function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc,
      YSrc: Integer; Rop: DWORD): BOOL; stdcall;
      external 'gdi32.dll' name 'BitBlt' index 19;

من version.dll

التوابع التالية

function VerQueryValue(pBlock: Pointer; lpSubBlock: PAnsiChar;
      var lplpBuffer: Pointer; var puLen: UINT): BOOL; stdcall;
      external 'version.dll' name 'VerQueryValueA' index 11; 

function GetFileVersionInfoSize(lptstrFilename: PAnsiChar;
      var lpdwHandle: DWORD): DWORD; stdcall;
      external 'version.dll' name 'GetFileVersionInfoSizeA' index 2; 

function GetFileVersionInfo(lptstrFilename: PAnsiChar; dwHandle, dwLen: DWORD;
      lpData: Pointer): BOOL; stdcall;
      external 'version.dll' name 'GetFileVersionInfoA' index 1;

من user32.dll

التوابع التالية

function GetKeyboardType(nTypeFlag: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetKeyboardType' index 284; 

function LoadString(hInstance: HINST; uID: UINT; lpBuffer: PAnsiChar;
      nBufferMax: Integer): Integer; stdcall;
      external 'user32.dll' name 'LoadStringA' index 432; 

function MessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar;
      uType: UINT): Integer; stdcall;
      external 'user32.dll' name 'MessageBoxA' index 452; 

function CharNext(lpsz: PAnsiChar): PAnsiChar; stdcall;
      external 'user32.dll' name 'CharNextA' index 38; 



function CreateWindowEx(dwExStyle: DWORD; lpClassName: PAnsiChar;
      lpWindowName: PAnsiChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
      hWndParent: HWND; hMenu: HMENU; hInstance: HINST;
      lpParam: Pointer): HWND; stdcall;
      external 'user32.dll' name 'CreateWindowExA' index 91; 

function WindowFromPoint(Point: TPoint): HWND; stdcall;
      external 'user32.dll' name 'WindowFromPoint' index 689; 

function WinHelp(hWndMain: HWND; lpszHelp: PAnsiChar; uCommand: UINT;
      dwData: DWORD): BOOL; stdcall;
      external 'user32.dll' name 'WinHelpA' index 686; 

function WaitMessage: BOOL; stdcall;
      external 'user32.dll' name 'WaitMessage' index 684; 

function UpdateWindow(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'UpdateWindow' index 663; 

function UnregisterClass(lpClassName: PAnsiChar; hInstance: HINST): BOOL;
      stdcall; external 'user32.dll' name 'UnregisterClassA' index 657; 

function UnhookWindowsHookEx(hhk: HHOOK): BOOL; stdcall;
      external 'user32.dll' name 'UnhookWindowsHookEx' index 652; 

function TranslateMessage(const lpMsg: TMsg): BOOL; stdcall;
      external 'user32.dll' name 'TranslateMessage' index 648; 

function TranslateMDISysAccel(hWndClient: HWND; const lpMsg: TMsg): BOOL;
      stdcall; external 'user32.dll' name 'TranslateMDISysAccel' index 647; 

function TrackPopupMenu(hMenu: HMENU; uFlags: UINT; x, y, nReserved: Integer;
      hWnd: HWND; prcRect: PRect): BOOL; stdcall;
      external 'user32.dll' name 'TrackPopupMenu' index 642; 

function SystemParametersInfo(uiAction, uiParam: UINT; pvParam: Pointer;
      fWinIni: UINT): BOOL; stdcall;
      external 'user32.dll' name 'SystemParametersInfoA' index 631; 

function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL; stdcall;
      external 'user32.dll' name 'ShowWindow' index 624; 

function ShowScrollBar(hWnd: HWND; wBar: Integer; bShow: BOOL): BOOL; stdcall;
      external 'user32.dll' name 'ShowScrollBar' index 622; 

function ShowOwnedPopups(hWnd: HWND; fShow: BOOL): BOOL; stdcall;
      external 'user32.dll' name 'ShowOwnedPopups' index 621; 

function ShowCursor(bShow: BOOL): Integer; stdcall;
      external 'user32.dll' name 'ShowCursor' index 620; 

function SetWindowsHookEx(idHook: Integer; lpfn: TFNHookProc; hmod: HINST;
      dwThreadId: DWORD): HHOOK; stdcall;
      external 'user32.dll' name 'SetWindowsHookExA' index 616; 

function SetWindowPos(hWnd: HWND; hWndInsertAfter: HWND; X, Y, cx,
      cy: Integer; uFlags: UINT): BOOL; stdcall;
      external 'user32.dll' name 'SetWindowPos' index 609; 

function SetWindowPlacement(hWnd: HWND;
      WindowPlacement: PWindowPlacement): BOOL; stdcall;
      external 'user32.dll' name 'SetWindowPlacement' index 608; 

function SetWindowLong(hWnd: HWND; nIndex: Integer;
      dwNewLong: Longint): Longint; stdcall;
      external 'user32.dll' name 'SetWindowLongA' index 606; 

function SetTimer(hWnd: HWND; nIDEvent, uElapse: UINT;
      lpTimerFunc: TFNTimerProc): UINT; stdcall;
      external 'user32.dll' name 'SetTimer' index 600; 

function SetScrollRange(hWnd: HWND; nBar, nMinPos, nMaxPos: Integer;
      bRedraw: BOOL): BOOL; stdcall;
      external 'user32.dll' name 'SetScrollRange' index 590; 

function SetScrollPos(hWnd: HWND; nBar, nPos: Integer;
      bRedraw: BOOL): Integer; stdcall;
      external 'user32.dll' name 'SetScrollPos' index 589; 

function SetScrollInfo(hWnd: HWND; BarFlag: Integer;
      const ScrollInfo: TScrollInfo; Redraw: BOOL): Integer; stdcall;
      external 'user32.dll' name 'SetScrollInfo' index 588; 

function SetRect(var lprc: TRect; xLeft, yTop, xRight,
      yBottom: Integer): BOOL; stdcall;
      external 'user32.dll' name 'SetRect' index 586; 

function SetProp(hWnd: HWND; lpString: PAnsiChar; hData: THandle): BOOL;
      stdcall; external 'user32.dll' name 'SetPropA' index 584; 

function SetParent(hWndChild, hWndNewParent: HWND): HWND; stdcall;
      external 'user32.dll' name 'SetParent' index 580; 

function SetMenuItemInfo(p1: HMENU; p2: UINT; p3: BOOL;
      const p4: TMenuItemInfoA): BOOL; stdcall;
      external 'user32.dll' name 'SetMenuItemInfoA' index 576; 

function SetMenu(hWnd: HWND; hMenu: HMENU): BOOL; stdcall;
      external 'user32.dll' name 'SetMenu' index 571; 

function SetForegroundWindow(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'SetForegroundWindow' index 565; 

function SetFocus(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'SetFocus' index 564; 

function SetCursor(hCursor: HICON): HCURSOR; stdcall;
      external 'user32.dll' name 'SetCursor' index 555; 

function SetClipboardData(uFormat: UINT; hMem: THandle): THandle; stdcall;
      external 'user32.dll' name 'SetClipboardData' index 552; 

function SetClassLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): DWORD;
      stdcall; external 'user32.dll' name 'SetClassLongA' index 549; 

function SetCapture(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'SetCapture' index 546; 

function SetActiveWindow(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'SetActiveWindow' index 545; 

function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM;
      lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'SendMessageA' index 537; 

function ScrollWindow(hWnd: HWND; XAmount, YAmount: Integer; Rect,
      ClipRect: PRect): BOOL; stdcall;
      external 'user32.dll' name 'ScrollWindow' index 530; 

function ScreenToClient(hWnd: HWND; var lpPoint: TPoint): BOOL; stdcall;
      external 'user32.dll' name 'ScreenToClient' index 527; 

function RemoveProp(hWnd: HWND; lpString: PAnsiChar): THandle; stdcall;
      external 'user32.dll' name 'RemovePropA' index 522; 

function RemoveMenu(hMenu: HMENU; uPosition, uFlags: UINT): BOOL; stdcall;
      external 'user32.dll' name 'RemoveMenu' index 521; 

function ReleaseDC(hWnd: HWND; hDC: HDC): Integer; stdcall;
      external 'user32.dll' name 'ReleaseDC' index 520; 

function ReleaseCapture: BOOL; stdcall;
      external 'user32.dll' name 'ReleaseCapture' index 519; 

function RegisterWindowMessage(lpString: PAnsiChar): UINT; stdcall;
      external 'user32.dll' name 'RegisterWindowMessageA' index 517; 

function RegisterClipboardFormat(lpszFormat: PAnsiChar): UINT; stdcall;
      external 'user32.dll' name 'RegisterClipboardFormatA' index 507; 

function RegisterClass(const lpWndClass: TWndClassA): ATOM; stdcall;
      external 'user32.dll' name 'RegisterClassA' index 503; 

function RedrawWindow(hWnd: HWND; lprcUpdate: PRect; hrgnUpdate: HRGN;
      flags: UINT): BOOL; stdcall;
      external 'user32.dll' name 'RedrawWindow' index 502; 

function PtInRect(const lprc: TRect; pt: TPoint): BOOL; stdcall;
      external 'user32.dll' name 'PtInRect' index 495; 

procedure PostQuitMessage(nExitCode: Integer); stdcall;
      external 'user32.dll' name 'PostQuitMessage' index 486; 

function PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM;
      lParam: LPARAM): BOOL; stdcall;
      external 'user32.dll' name 'PostMessageA' index 484; 

function PeekMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin,
      wMsgFilterMax, wRemoveMsg: UINT): BOOL; stdcall;
      external 'user32.dll' name 'PeekMessageA' index 482; 

function OpenClipboard(hWndNewOwner: HWND): BOOL; stdcall;
      external 'user32.dll' name 'OpenClipboard' index 473; 

function OffsetRect(var lprc: TRect; dx, dy: Integer): BOOL; stdcall;
      external 'user32.dll' name 'OffsetRect' index 472; 

function OemToChar(lpszSrc: PAnsiChar; lpszDst: PAnsiChar): BOOL; stdcall;
      external 'user32.dll' name 'OemToCharA' index 468; 

function MessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar;
      uType: UINT): Integer; stdcall;
      external 'user32.dll' name 'MessageBoxA' index 452; 

function MessageBeep(uType: UINT): BOOL; stdcall;
      external 'user32.dll' name 'MessageBeep' index 451; 

function MapWindowPoints(hWndFrom, hWndTo: HWND; var lpPoints;
      cPoints: UINT): Integer; stdcall;
      external 'user32.dll' name 'MapWindowPoints' index 447; 

function MapVirtualKey(uCode, uMapType: UINT): UINT; stdcall;
      external 'user32.dll' name 'MapVirtualKeyA' index 443; 

function LoadString(hInstance: HINST; uID: UINT; lpBuffer: PAnsiChar;
      nBufferMax: Integer): Integer; stdcall;
      external 'user32.dll' name 'LoadStringA' index 432; 

function LoadKeyboardLayout(pwszKLID: PAnsiChar; Flags: UINT): HKL; stdcall;
      external 'user32.dll' name 'LoadKeyboardLayoutA' index 423; 

function LoadIcon(hInstance: HINST; lpIconName: PAnsiChar): HICON; stdcall;
      external 'user32.dll' name 'LoadIconA' index 419; 

function LoadCursor(hInstance: HINST; lpCursorName: PAnsiChar): HCURSOR;
      stdcall; external 'user32.dll' name 'LoadCursorA' index 415; 

function LoadBitmap(hInstance: HINST; lpBitmapName: PAnsiChar): HBITMAP;
      stdcall; external 'user32.dll' name 'LoadBitmapA' index 413; 

function KillTimer(hWnd: HWND; uIDEvent: UINT): BOOL; stdcall;
      external 'user32.dll' name 'KillTimer' index 410; 

function IsZoomed(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsZoomed' index 408; 

function IsWindowVisible(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsWindowVisible' index 407; 

function IsWindowEnabled(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsWindowEnabled' index 405; 

function IsWindow(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsWindow' index 404; 

function IsRectEmpty(const lprc: TRect): BOOL; stdcall;
      external 'user32.dll' name 'IsRectEmpty' index 403; 

function IsIconic(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsIconic' index 401; 

function IsDialogMessage(hDlg: HWND; var lpMsg: TMsg): BOOL; stdcall;
      external 'user32.dll' name 'IsDialogMessageA' index 397; 

function IsChild(hWndParent, hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'IsChild' index 394; 

function InvalidateRect(hWnd: HWND; lpRect: PRect; bErase: BOOL): BOOL;
      stdcall; external 'user32.dll' name 'InvalidateRect' index 383; 

function IntersectRect(var lprcDst: TRect; const lprcSrc1,
      lprcSrc2: TRect): BOOL; stdcall;
      external 'user32.dll' name 'IntersectRect' index 382; 

function InsertMenuItem(p1: HMENU; p2: UINT; p3: BOOL;
      const p4: TMenuItemInfoA): BOOL; stdcall;
      external 'user32.dll' name 'InsertMenuItemA' index 378; 

function InsertMenu(hMenu: HMENU; uPosition, uFlags, uIDNewItem: UINT;
      lpNewItem: PAnsiChar): BOOL; stdcall;
      external 'user32.dll' name 'InsertMenuA' index 377; 

function InflateRect(var lprc: TRect; dx, dy: Integer): BOOL; stdcall;
      external 'user32.dll' name 'InflateRect' index 374; 

function GetWindowThreadProcessId(hWnd: HWND; lpdwProcessId: Pointer): DWORD;
      stdcall;
      external 'user32.dll' name 'GetWindowThreadProcessId' index 359; 

function GetWindowText(hWnd: HWND; lpString: PAnsiChar;
      nMaxCount: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetWindowTextA' index 355; 

function GetWindowRect(hWnd: HWND; var lpRect: TRect): BOOL; stdcall;
      external 'user32.dll' name 'GetWindowRect' index 353; 

function GetWindowPlacement(hWnd: HWND;
      WindowPlacement: PWindowPlacement): BOOL; stdcall;
      external 'user32.dll' name 'GetWindowPlacement' index 352; 

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; stdcall;
      external 'user32.dll' name 'GetWindowLongA' index 347; 

function GetWindowDC(hWnd: HWND): HDC; stdcall;
      external 'user32.dll' name 'GetWindowDC' index 345; 

function GetTopWindow(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'GetTopWindow' index 336; 

function GetSystemMetrics(nIndex: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetSystemMetrics' index 330; 

function GetSystemMenu(hWnd: HWND; bRevert: BOOL): HMENU; stdcall;
      external 'user32.dll' name 'GetSystemMenu' index 329; 

function GetSysColorBrush(nIndex: Integer): HBRUSH; stdcall;
      external 'user32.dll' name 'GetSysColorBrush' index 328; 

function GetSysColor(nIndex: Integer): DWORD; stdcall;
      external 'user32.dll' name 'GetSysColor' index 327; 

function GetSubMenu(hMenu: HMENU; nPos: Integer): HMENU; stdcall;
      external 'user32.dll' name 'GetSubMenu' index 326; 

function GetScrollRange(hWnd: HWND; nBar: Integer; var lpMinPos,
      lpMaxPos: Integer): BOOL; stdcall;
      external 'user32.dll' name 'GetScrollRange' index 324; 

function GetScrollPos(hWnd: HWND; nBar: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetScrollPos' index 323; 

function GetScrollInfo(hWnd: HWND; BarFlag: Integer;
      var ScrollInfo: TScrollInfo): BOOL; stdcall;
      external 'user32.dll' name 'GetScrollInfo' index 322; 

function GetProp(hWnd: HWND; lpString: PAnsiChar): THandle; stdcall;
      external 'user32.dll' name 'GetPropA' index 318; 

function GetParent(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'GetParent' index 313; 

function GetWindow(hWnd: HWND; uCmd: UINT): HWND; stdcall;
      external 'user32.dll' name 'GetWindow' index 343; 

function GetMenuString(hMenu: HMENU; uIDItem: UINT; lpString: PAnsiChar;
      nMaxCount: Integer; uFlag: UINT): Integer; stdcall;
      external 'user32.dll' name 'GetMenuStringA' index 300; 

function GetMenuState(hMenu: HMENU; uId, uFlags: UINT): UINT; stdcall;
      external 'user32.dll' name 'GetMenuState' index 299; 

function GetMenuItemInfo(p1: HMENU; p2: UINT; p3: BOOL;
      var p4: TMenuItemInfoA): BOOL; stdcall;
      external 'user32.dll' name 'GetMenuItemInfoA' index 296; 

function GetMenuItemID(hMenu: HMENU; nPos: Integer): UINT; stdcall;
      external 'user32.dll' name 'GetMenuItemID' index 295; 

function GetMenuItemCount(hMenu: HMENU): Integer; stdcall;
      external 'user32.dll' name 'GetMenuItemCount' index 294; 

function GetMenu(hWnd: HWND): HMENU; stdcall;
      external 'user32.dll' name 'GetMenu' index 288; 

function GetLastActivePopup(hWnd: HWND): HWND; stdcall;
      external 'user32.dll' name 'GetLastActivePopup' index 285; 

function GetKeyboardState(var KeyState: TKeyboardState): BOOL; stdcall;
      external 'user32.dll' name 'GetKeyboardState' index 283; 

function GetKeyboardLayoutList(nBuff: Integer; var List): UINT; stdcall;
      external 'user32.dll' name 'GetKeyboardLayoutList' index 280; 

function GetKeyboardLayout(dwLayout: DWORD): HKL; stdcall;
      external 'user32.dll' name 'GetKeyboardLayout' index 279; 

function GetKeyState(nVirtKey: Integer): SHORT; stdcall;
      external 'user32.dll' name 'GetKeyState' index 278; 

function GetKeyNameText(lParam: Longint; lpString: PAnsiChar;
      nSize: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetKeyNameTextA' index 276; 

function GetIconInfo(hIcon: HICON; var piconinfo: TIconInfo): BOOL; stdcall;
      external 'user32.dll' name 'GetIconInfo' index 271; 

function GetForegroundWindow: HWND; stdcall;
      external 'user32.dll' name 'GetForegroundWindow' index 268; 

function GetFocus: HWND; stdcall;
      external 'user32.dll' name 'GetFocus' index 267; 

function GetDesktopWindow: HWND; stdcall;
      external 'user32.dll' name 'GetDesktopWindow' index 259; 

function GetDCEx(hWnd: HWND; hrgnClip: HRGN; flags: DWORD): HDC; stdcall;
      external 'user32.dll' name 'GetDCEx' index 258; 

function GetDC(hWnd: HWND): HDC; stdcall;
      external 'user32.dll' name 'GetDC' index 257; 

function GetCursorPos(var lpPoint: TPoint): BOOL; stdcall;
      external 'user32.dll' name 'GetCursorPos' index 256; 

function GetCursor: HCURSOR; stdcall;
      external 'user32.dll' name 'GetCursor' index 253; 

function GetClipboardData(uFormat: UINT): THandle; stdcall;
      external 'user32.dll' name 'GetClipboardData' index 246; 

function GetClientRect(hWnd: HWND; var lpRect: TRect): BOOL; stdcall;
      external 'user32.dll' name 'GetClientRect' index 244; 

function GetClassName(hWnd: HWND; lpClassName: PAnsiChar;
      nMaxCount: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetClassNameA' index 241; 

function GetClassInfo(hInstance: HINST; lpClassName: PAnsiChar;
      var lpWndClass: TWndClassA): BOOL; stdcall;
      external 'user32.dll' name 'GetClassInfoA' index 235; 

function GetCapture: HWND; stdcall;
      external 'user32.dll' name 'GetCapture' index 232; 

function GetActiveWindow: HWND; stdcall;
      external 'user32.dll' name 'GetActiveWindow' index 224; 

function FrameRect(hDC: HDC; const lprc: TRect; hbr: HBRUSH): Integer;
      stdcall; external 'user32.dll' name 'FrameRect' index 222; 

function FindWindow(lpClassName, lpWindowName: PAnsiChar): HWND; stdcall;
      external 'user32.dll' name 'FindWindowA' index 216; 

function FillRect(hDC: HDC; const lprc: TRect; hbr: HBRUSH): Integer; stdcall;
      external 'user32.dll' name 'FillRect' index 215; 

function EqualRect(const lprc1, lprc2: TRect): BOOL; stdcall;
      external 'user32.dll' name 'EqualRect' index 212; 

function EnumWindows(lpEnumFunc: TFNWndEnumProc; lParam: LPARAM): BOOL;
      stdcall; external 'user32.dll' name 'EnumWindows' index 211; 

function EnumThreadWindows(dwThreadId: DWORD; lpfn: TFNWndEnumProc;
      lParam: LPARAM): BOOL; stdcall;
      external 'user32.dll' name 'EnumThreadWindows' index 208; 

function EndPaint(hWnd: HWND; const lpPaint: TPaintStruct): BOOL; stdcall;
      external 'user32.dll' name 'EndPaint' index 190; 

function EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL; stdcall;
      external 'user32.dll' name 'EnableWindow' index 186; 

function EnableScrollBar(hWnd: HWND; wSBflags, wArrows: UINT): BOOL; stdcall;
      external 'user32.dll' name 'EnableScrollBar' index 185; 

function EnableMenuItem(hMenu: HMENU; uIDEnableItem, uEnable: UINT): BOOL;
      stdcall; external 'user32.dll' name 'EnableMenuItem' index 184; 

function EmptyClipboard: BOOL; stdcall;
      external 'user32.dll' name 'EmptyClipboard' index 183; 

function DrawText(hDC: HDC; lpString: PAnsiChar; nCount: Integer;
      var lpRect: TRect; uFormat: UINT): Integer; stdcall;
      external 'user32.dll' name 'DrawTextA' index 178; 

function DrawMenuBar(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'DrawMenuBar' index 174; 

function DrawIconEx(hdc: HDC; xLeft, yTop: Integer; hIcon: HICON; cxWidth,
      cyWidth: Integer; istepIfAniCur: UINT; hbrFlickerFreeDraw: HBRUSH;
      diFlags: UINT): BOOL; stdcall;
      external 'user32.dll' name 'DrawIconEx' index 173; 

function DrawIcon(hDC: HDC; X, Y: Integer; hIcon: HICON): BOOL; stdcall;
      external 'user32.dll' name 'DrawIcon' index 172; 

function DrawFrameControl(DC: HDC; const Rect: TRect; uType,
      uState: UINT): BOOL; stdcall;
      external 'user32.dll' name 'DrawFrameControl' index 171; 

function DrawEdge(hdc: HDC; var qrc: TRect; edge: UINT; grfFlags: UINT): BOOL;
      stdcall; external 'user32.dll' name 'DrawEdge' index 168; 

function DispatchMessage(const lpMsg: TMsg): Longint; stdcall;
      external 'user32.dll' name 'DispatchMessageA' index 152; 

function DestroyWindow(hWnd: HWND): BOOL; stdcall;
      external 'user32.dll' name 'DestroyWindow' index 145; 

function DestroyMenu(hMenu: HMENU): BOOL; stdcall;
      external 'user32.dll' name 'DestroyMenu' index 144; 

function DestroyIcon(hIcon: HICON): BOOL; stdcall;
      external 'user32.dll' name 'DestroyIcon' index 143; 

function DestroyCursor(hCursor: HICON): BOOL; stdcall;
      external 'user32.dll' name 'DestroyCursor' index 142; 

function DeleteMenu(hMenu: HMENU; uPosition, uFlags: UINT): BOOL; stdcall;
      external 'user32.dll' name 'DeleteMenu' index 138; 

function DefWindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM;
      lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'DefWindowProcA' index 135; 

function DefMDIChildProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM;
      lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'DefMDIChildProcA' index 133; 

function DefFrameProc(hWnd, hWndMDIClient: HWND; uMsg: UINT; wParam: WPARAM;
      lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'DefFrameProcA' index 131; 

function CreatePopupMenu: HMENU; stdcall;
      external 'user32.dll' name 'CreatePopupMenu' index 90; 

function CreateMenu: HMENU; stdcall;
      external 'user32.dll' name 'CreateMenu' index 89; 

function CreateIcon(hInstance: HINST; nWidth, nHeight: Integer; cPlanes,
      cBitsPixel: Byte; lpbANDbits, lpbXORbits: Pointer): HICON; stdcall;
      external 'user32.dll' name 'CreateIcon' index 83; 

function CloseClipboard: BOOL; stdcall;
      external 'user32.dll' name 'CloseClipboard' index 62; 

function ClientToScreen(hWnd: HWND; var lpPoint: TPoint): BOOL; stdcall;
      external 'user32.dll' name 'ClientToScreen' index 60; 

function CheckMenuItem(hMenu: HMENU; uIDCheckItem, uCheck: UINT): DWORD;
      stdcall; external 'user32.dll' name 'CheckMenuItem' index 53; 

function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT;
      wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'CallWindowProcA' index 23; 

function CallNextHookEx(hhk: HHOOK; nCode: Integer; wParam: WPARAM;
      lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'CallNextHookEx' index 22; 

function BeginPaint(hWnd: HWND; var lpPaint: TPaintStruct): HDC; stdcall;
      external 'user32.dll' name 'BeginPaint' index 13; 

function CharNext(lpsz: PAnsiChar): PAnsiChar; stdcall;
      external 'user32.dll' name 'CharNextA' index 38; 

function CharLowerBuff(lpsz: PAnsiChar; cchLength: DWORD): DWORD; stdcall;
      external 'user32.dll' name 'CharLowerBuffA' index 35; 

function CharLower(lpsz: PAnsiChar): PAnsiChar; stdcall;
      external 'user32.dll' name 'CharLowerA' index 34; 

function CharUpperBuff(lpsz: PAnsiChar; cchLength: DWORD): DWORD; stdcall;
      external 'user32.dll' name 'CharUpperBuffA' index 49; 

function CharToOem(lpszSrc: PAnsiChar; lpszDst: PAnsiChar): BOOL; stdcall;
      external 'user32.dll' name 'CharToOemA' index 44; 

function AdjustWindowRectEx(var lpRect: TRect; dwStyle: DWORD; bMenu: BOOL;
      dwExStyle: DWORD): BOOL; stdcall;
      external 'user32.dll' name 'AdjustWindowRectEx' index 3; 

function ActivateKeyboardLayout(hkl: HKL; Flags: UINT): HKL; stdcall;
      external 'user32.dll' name 'ActivateKeyboardLayout' index 1;

من oleaut32.dll

التوابع التالية

procedure SysFreeString(bstr: TBStr); stdcall;
      external 'oleaut32.dll' name 'SysFreeString' index 6; 

function SysReAllocStringLen(var bstr: TBStr; psz: POleStr;
      len: Integer): Integer; stdcall;
      external 'oleaut32.dll' name 'SysReAllocStringLen' index 5; 

function SysAllocStringLen(psz: POleStr; len: Integer): TBStr; stdcall;
      external 'oleaut32.dll' name 'SysAllocStringLen' index 4; 


function SafeArrayPtrOfIndex(psa: PSafeArray; var rgIndices;
      out pvData: Pointer): HResult; stdcall;
      external 'oleaut32.dll' name 'SafeArrayPtrOfIndex' index 148; 

function SafeArrayGetUBound(psa: PSafeArray; nDim: Integer;
      out lUbound: Longint): HResult; stdcall;
      external 'oleaut32.dll' name 'SafeArrayGetUBound' index 19; 

function SafeArrayGetLBound(psa: PSafeArray; nDim: Integer;
      out lLbound: Longint): HResult; stdcall;
      external 'oleaut32.dll' name 'SafeArrayGetLBound' index 20; 

function SafeArrayCreate(vt: TVarType; cDims: Integer;
      const rgsabound): PSafeArray; stdcall;
      external 'oleaut32.dll' name 'SafeArrayCreate' index 15; 

function VariantChangeType(var vargDest: OleVariant;
      const vargSrc: OleVariant; wFlags: Word; vt: TVarType): HResult;
      stdcall; external 'oleaut32.dll' name 'VariantChangeType' index 12; 

function VariantCopy(var vargDest: OleVariant;
      const vargSrc: OleVariant): HResult; stdcall;
      external 'oleaut32.dll' name 'VariantCopy' index 10; 

function VariantClear(var varg: OleVariant): HResult; stdcall;
      external 'oleaut32.dll' name 'VariantClear' index 9; 

procedure VariantInit(var varg: OleVariant); stdcall;
      external 'oleaut32.dll' name 'VariantInit' index 8;

من kernel32.dll

التوابع التالية

procedure DeleteCriticalSection(var lpCriticalSection: TRTLCriticalSection);

     stdcall; external 'kernel32.dll' name 'DeleteCriticalSection' index 91;

procedure LeaveCriticalSection(var lpCriticalSection: TRTLCriticalSection);

     stdcall; external 'kernel32.dll' name 'LeaveCriticalSection' index 479;

procedure EnterCriticalSection(var lpCriticalSection: TRTLCriticalSection);

     stdcall; external 'kernel32.dll' name 'EnterCriticalSection' index 112;

procedure InitializeCriticalSection(var lpCriticalSection:

     TRTLCriticalSection); stdcall;

     external 'kernel32.dll' name 'InitializeCriticalSection' index 454;

function VirtualFree(lpAddress: Pointer; dwSize, dwFreeType: DWORD): BOOL;

     stdcall; external 'kernel32.dll' name 'VirtualFree' index 754;

function VirtualAlloc(lpvAddress: Pointer; dwSize, flAllocationType,

     flProtect: DWORD): Pointer; stdcall;

     external 'kernel32.dll' name 'VirtualAlloc' index 751;

function LocalFree(hMem: HLOCAL): HLOCAL; stdcall;

     external 'kernel32.dll' name 'LocalFree' index 490;

function LocalAlloc(uFlags, uBytes: UINT): HLOCAL; stdcall;

     external 'kernel32.dll' name 'LocalAlloc' index 486;

function GetVersion: DWORD; stdcall;

     external 'kernel32.dll' name 'GetVersion' index 399;

function GetCurrentThreadId: DWORD; stdcall;

     external 'kernel32.dll' name 'GetCurrentThreadId' index 269;

function InterlockedDecrement(var Addend: Integer): Integer; stdcall;

     external 'kernel32.dll' name 'InterlockedDecrement' index 457;

function InterlockedIncrement(var Addend: Integer): Integer; stdcall;

     external 'kernel32.dll' name 'InterlockedIncrement' index 460;

function VirtualQuery(lpAddress: Pointer;

     var lpBuffer: TMemoryBasicInformation; dwLength: DWORD): DWORD; stdcall;

     external 'kernel32.dll' name 'VirtualQuery' index 759;

function WideCharToMultiByte(CodePage: UINT; dwFlags: DWORD;

     lpWideCharStr: LPWSTR; cchWideChar: Integer; lpMultiByteStr: LPSTR;

     cchMultiByte: Integer; lpDefaultChar: LPCSTR;

     lpUsedDefaultChar: PBOOL): Integer; stdcall;

     external 'kernel32.dll' name 'WideCharToMultiByte' index 770;

function MultiByteToWideChar(CodePage: UINT; dwFlags: DWORD;

     const lpMultiByteStr: LPCSTR; cchMultiByte: Integer;

     lpWideCharStr: LPWSTR; cchWideChar: Integer): Integer; stdcall;

     external 'kernel32.dll' name 'MultiByteToWideChar' index 515;

function lstrlen(lpString: PAnsiChar): Integer; stdcall;

     external 'kernel32.dll' name 'lstrlenA' index 822;

function lstrcpyn(lpString1, lpString2: PAnsiChar;

     iMaxLength: Integer): PAnsiChar; stdcall;

     external 'kernel32.dll' name 'lstrcpynA' index 819;

function LoadLibraryEx(lpLibFileName: PAnsiChar; hFile: THandle;

  &

#17

وبالنسبة للملف testdll.dll

يستدعي التوابع التالية من المكتبات dll

وهي

من kernel32.dll

يستدعي التوابع التالية

function CloseHandle(hObject: THandle): BOOL; stdcall;
      external 'kernel32.dll' name 'CloseHandle' index 31; 

function CreateThread(lpThreadAttributes: Pointer; dwStackSize: DWORD;
      lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer;
      dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle; stdcall;
      external 'kernel32.dll' name 'CreateThread' index 78; 

function SetEnvironmentVariable(lpName, lpValue: PAnsiChar): BOOL; stdcall;
      external 'kernel32.dll' name 'SetEnvironmentVariableA' index 654; 

function CompareStringW(Locale: LCID; dwCmpFlags: DWORD; lpString1: PWideChar;
      cchCount1: Integer; lpString2: PWideChar; cchCount2: Integer): Integer;
      stdcall; external 'kernel32.dll' name 'CompareStringW' index 38; 

function CompareString(Locale: LCID; dwCmpFlags: DWORD; lpString1: PAnsiChar;
      cchCount1: Integer; lpString2: PAnsiChar; cchCount2: Integer): Integer;
      stdcall; external 'kernel32.dll' name 'CompareStringA' index 37; 

function GetLocaleInfoW(Locale: LCID; LCType: LCTYPE; lpLCData: PWideChar;
      cchData: Integer): Integer; stdcall;
      external 'kernel32.dll' name 'GetLocaleInfoW' index 306; 

function GetTimeZoneInformation(var lpTimeZoneInformation:
      TTimeZoneInformation): DWORD; stdcall;
      external 'kernel32.dll' name 'GetTimeZoneInformation' index 394; 

function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL;
      stdcall; external 'kernel32.dll' name 'GetVersionExA' index 400; 


RtlUnwind    

function GetCommandLine: PAnsiChar; stdcall;
      external 'kernel32.dll' name 'GetCommandLineA' index 219; 

function GetVersion: DWORD; stdcall;
      external 'kernel32.dll' name 'GetVersion' index 399; 

procedure DebugBreak; stdcall;
      external 'kernel32.dll' name 'DebugBreak' index 86; 

function GetStdHandle(nStdHandle: DWORD): THandle; stdcall;
      external 'kernel32.dll' name 'GetStdHandle' index 361; 

function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD;
      var lpNumberOfBytesWritten: DWORD; lpOverlapped: POverlapped): BOOL;
      stdcall; external 'kernel32.dll' name 'WriteFile' index 783; 

function InterlockedDecrement(var Addend: Integer): Integer; stdcall;
      external 'kernel32.dll' name 'InterlockedDecrement' index 457; 

procedure OutputDebugString(lpOutputString: PAnsiChar); stdcall;
      external 'kernel32.dll' name 'OutputDebugStringA' index 537; 

function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC;
      stdcall; external 'kernel32.dll' name 'GetProcAddress' index 340; 

function LoadLibrary(lpLibFileName: PAnsiChar): HMODULE; stdcall;
      external 'kernel32.dll' name 'LoadLibraryA' index 480; 

function InterlockedIncrement(var Addend: Integer): Integer; stdcall;
      external 'kernel32.dll' name 'InterlockedIncrement' index 460; 

function GetModuleFileName(hModule: HINST; lpFilename: PAnsiChar;
      nSize: DWORD): DWORD; stdcall;
      external 'kernel32.dll' name 'GetModuleFileNameA' index 313; 

function GetCurrentThreadId: DWORD; stdcall;
      external 'kernel32.dll' name 'GetCurrentThreadId' index 269; 

function TlsSetValue(dwTlsIndex: DWORD; lpTlsValue: Pointer): BOOL; stdcall;
      external 'kernel32.dll' name 'TlsSetValue' index 724; 

function TlsAlloc: DWORD; stdcall;
      external 'kernel32.dll' name 'TlsAlloc' index 721; 

function TlsFree(dwTlsIndex: DWORD): BOOL; stdcall;
      external 'kernel32.dll' name 'TlsFree' index 722; 

procedure SetLastError(dwErrCode: DWORD); stdcall;
      external 'kernel32.dll' name 'SetLastError' index 669; 

function TlsGetValue(dwTlsIndex: DWORD): Pointer; stdcall;
      external 'kernel32.dll' name 'TlsGetValue' index 723; 

function GetLastError: DWORD; stdcall;
      external 'kernel32.dll' name 'GetLastError' index 302; 

function GetCurrentThread: THandle; stdcall;
      external 'kernel32.dll' name 'GetCurrentThread' index 268; 

procedure InitializeCriticalSection(var lpCriticalSection:
      TRTLCriticalSection); stdcall;
      external 'kernel32.dll' name 'InitializeCriticalSection' index 454; 

procedure DeleteCriticalSection(var lpCriticalSection: TRTLCriticalSection);
      stdcall; external 'kernel32.dll' name 'DeleteCriticalSection' index 91; 

procedure EnterCriticalSection(var lpCriticalSection: TRTLCriticalSection);
      stdcall; external 'kernel32.dll' name 'EnterCriticalSection' index 112; 

procedure LeaveCriticalSection(var lpCriticalSection: TRTLCriticalSection);
      stdcall; external 'kernel32.dll' name 'LeaveCriticalSection' index 479; 

procedure ExitProcess(uExitCode: UINT); stdcall;
      external 'kernel32.dll' name 'ExitProcess' index 141; 

procedure FatalAppExit(uAction: UINT; lpMessageText: PAnsiChar); stdcall;
      external 'kernel32.dll' name 'FatalAppExitA' index 149; 

function IsBadWritePtr(lp: Pointer; ucb: UINT): BOOL; stdcall;
      external 'kernel32.dll' name 'IsBadWritePtr' index 468; 

function IsBadReadPtr(lp: Pointer; ucb: UINT): BOOL; stdcall;
      external 'kernel32.dll' name 'IsBadReadPtr' index 465; 

function HeapValidate(hHeap: THandle; dwFlags: DWORD; lpMem: Pointer): BOOL;
      stdcall; external 'kernel32.dll' name 'HeapValidate' index 451; 

function TerminateProcess(hProcess: THandle; uExitCode: UINT): BOOL; stdcall;
      external 'kernel32.dll' name 'TerminateProcess' index 716; 

function GetCurrentProcess: THandle; stdcall;
      external 'kernel32.dll' name 'GetCurrentProcess' index 266; 

function SetHandleCount(uNumber: UINT): UINT; stdcall;
      external 'kernel32.dll' name 'SetHandleCount' index 665; 

function GetFileType(hFile: THandle): DWORD; stdcall;
      external 'kernel32.dll' name 'GetFileType' index 297; 

procedure GetStartupInfo(var lpStartupInfo: TStartupInfo); stdcall;
      external 'kernel32.dll' name 'GetStartupInfoA' index 359; 

function FreeEnvironmentStrings(p1: PAnsiChar): BOOL; stdcall;
      external 'kernel32.dll' name 'FreeEnvironmentStringsA' index 194; 

function FreeEnvironmentStringsW(p1: PWideChar): BOOL; stdcall;
      external 'kernel32.dll' name 'FreeEnvironmentStringsW' index 195; 

function WideCharToMultiByte(CodePage: UINT; dwFlags: DWORD;
      lpWideCharStr: LPWSTR; cchWideChar: Integer; lpMultiByteStr: LPSTR;
      cchMultiByte: Integer; lpDefaultChar: LPCSTR;
      lpUsedDefaultChar: PBOOL): Integer; stdcall;
      external 'kernel32.dll' name 'WideCharToMultiByte' index 770; 


 GetEnvironmentStrings  


function GetEnvironmentStringsW: PWideChar; stdcall;
      external 'kernel32.dll' name 'GetEnvironmentStringsW' index 284; 

function HeapDestroy(hHeap: THandle): BOOL; stdcall;
      external 'kernel32.dll' name 'HeapDestroy' index 441; 

function HeapCreate(flOptions, dwInitialSize, dwMaximumSize: DWORD): THandle;
      stdcall; external 'kernel32.dll' name 'HeapCreate' index 439; 

function HeapFree(hHeap: THandle; dwFlags: DWORD; lpMem: Pointer): BOOL;
      stdcall; external 'kernel32.dll' name 'HeapFree' index 443; 

function VirtualFree(lpAddress: Pointer; dwSize, dwFreeType: DWORD): BOOL;
      stdcall; external 'kernel32.dll' name 'VirtualFree' index 754; 

function SetConsoleCtrlHandler(HandlerRoutine: TFNHandlerRoutine;
      Add: BOOL): BOOL; stdcall;
      external 'kernel32.dll' name 'SetConsoleCtrlHandler' index 621; 

function SetUnhandledExceptionFilter(lpTopLevelExceptionFilter:
      TFNTopLevelExceptionFilter): TFNTopLevelExceptionFilter; stdcall;
      external 'kernel32.dll' name 'SetUnhandledExceptionFilter' index 697; 

function IsBadCodePtr(lpfn: FARPROC): BOOL; stdcall;
      external 'kernel32.dll' name 'IsBadCodePtr' index 462; 

function UnhandledExceptionFilter(const ExceptionInfo: TExceptionPointers):
      Longint; stdcall;
      external 'kernel32.dll' name 'UnhandledExceptionFilter' index 732; 

function HeapAlloc(hHeap: THandle; dwFlags, dwBytes: DWORD): Pointer; stdcall;
      external 'kernel32.dll' name 'HeapAlloc' index 437; 

function HeapReAlloc(hHeap: THandle; dwFlags: DWORD; lpMem: Pointer;
      dwBytes: DWORD): Pointer; stdcall;
      external 'kernel32.dll' name 'HeapReAlloc' index 446; 

function VirtualAlloc(lpvAddress: Pointer; dwSize, flAllocationType,
      flProtect: DWORD): Pointer; stdcall;
      external 'kernel32.dll' name 'VirtualAlloc' index 751; 

function GetCPInfo(CodePage: UINT; var lpCPInfo: TCPInfo): BOOL; stdcall;
      external 'kernel32.dll' name 'GetCPInfo' index 208; 

function GetACP: UINT; stdcall;
      external 'kernel32.dll' name 'GetACP' index 202; 

function GetOEMCP: UINT; stdcall;
      external 'kernel32.dll' name 'GetOEMCP' index 327; 

function MultiByteToWideChar(CodePage: UINT; dwFlags: DWORD;
      const lpMultiByteStr: LPCSTR; cchMultiByte: Integer;
      lpWideCharStr: LPWSTR; cchWideChar: Integer): Integer; stdcall;
      external 'kernel32.dll' name 'MultiByteToWideChar' index 515; 

function GetStringTypeA(Locale: LCID; dwInfoType: DWORD;
      const lpSrcStr: LPCSTR; cchSrc: BOOL; var lpCharType: Word): BOOL;
      external 'kernel32.dll' name 'GetStringTypeA' index 362; 

function GetStringTypeW(dwInfoType: DWORD; const lpSrcStr: WCHAR;
      cchSrc: BOOL; var lpCharType: Word): BOOL;
      external 'kernel32.dll' name 'GetStringTypeW' index 365; 

function LCMapString(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: PAnsiChar;
      cchSrc: Integer; lpDestStr: PAnsiChar; cchDest: Integer): Integer;
      stdcall; external 'kernel32.dll' name 'LCMapStringA' index 477; 

function LCMapStringW(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: PWideChar;
      cchSrc: Integer; lpDestStr: PWideChar; cchDest: Integer): Integer;
      stdcall; external 'kernel32.dll' name 'LCMapStringW' index 478; 

function SetFilePointer(hFile: THandle; lDistanceToMove: Longint;
      lpDistanceToMoveHigh: Pointer; dwMoveMethod: DWORD): DWORD; stdcall;
      external 'kernel32.dll' name 'SetFilePointer' index 662; 

function SetStdHandle(nStdHandle: DWORD; hHandle: THandle): BOOL; stdcall;
      external 'kernel32.dll' name 'SetStdHandle' index 681; 

procedure Sleep(dwMilliseconds: DWORD); stdcall;
      external 'kernel32.dll' name 'Sleep' index 708; 

function FlushFileBuffers(hFile: THandle): BOOL; stdcall;
      external 'kernel32.dll' name 'FlushFileBuffers' index 186; 

function IsValidLocale(Locale: LCID; dwFlags: DWORD): BOOL; stdcall;
      external 'kernel32.dll' name 'IsValidLocale' index 476; 

function IsValidCodePage(CodePage: UINT): BOOL; stdcall;
      external 'kernel32.dll' name 'IsValidCodePage' index 474; 

function GetLocaleInfo(Locale: LCID; LCType: LCTYPE; lpLCData: PAnsiChar;
      cchData: Integer): Integer; stdcall;
      external 'kernel32.dll' name 'GetLocaleInfoA' index 305; 

function EnumSystemLocales(lpLocaleEnumProc: TFNLocaleEnumProc;
      dwFlags: DWORD): BOOL; stdcall;
      external 'kernel32.dll' name 'EnumSystemLocalesA' index 133; 

function GetUserDefaultLCID: LCID; stdcall;
      external 'kernel32.dll' name 'GetUserDefaultLCID' index 395; 

procedure RaiseException(dwExceptionCode, dwExceptionFlags,
      nNumberOfArguments: DWORD; lpArguments: PDWORD); stdcall;
      external 'kernel32.dll' name 'RaiseException' index 561;

من USER32.dll

يستدعي التوابع التالية

function GetWindowText(hWnd: HWND; lpString: PAnsiChar;
      nMaxCount: Integer): Integer; stdcall;
      external 'user32.dll' name 'GetWindowTextA' index 355; 

function OpenDesktop(lpszDesktop: PAnsiChar; dwFlags: DWORD; fInherit: BOOL;
      dwDesiredAccess: DWORD): HDESK; stdcall;
      external 'user32.dll' name 'OpenDesktopA' index 474; 

function EnumDesktopWindows(hDesktop: HDESK; lpfn: TFNWndEnumProc;
      lParam: LPARAM): BOOL; stdcall;
      external 'user32.dll' name 'EnumDesktopWindows' index 194; 

function SetWindowLong(hWnd: HWND; nIndex: Integer;
      dwNewLong: Longint): Longint; stdcall;
      external 'user32.dll' name 'SetWindowLongA' index 606; 

function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT;
      wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
      external 'user32.dll' name 'CallWindowProcA' index 23;
#18

السلام عليكم

عزيزي dr_mojahed

في مجتمع vb& access هذه المواضيع لا تنفع ولن يكون هناك اي حافز لتعلمها . تستطيع ان تقول انها لا تنفع كما انك تستطيع ان تقول ان كل ما ليس له علاقه بـ vb&access لا ينفع في مجتمعنا .

المنتظر :

سرد كل تلك المعلومات لا يفي بالغرض . فعمل DisAssembly سينتج عنه ذلك .

مشكور على اهتمامك بالموضوع .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#19

السلام عليكم

اقتباس
في مجتمع vb& access هذه المواضيع لا تنفع ولن يكون هناك اي حافز لتعلمها

بالعكس طرحك لمواضيع مثل هذه يفيد كثيرا ، يكفي المعرفة التي نحصل عليها من البحث فقط وحقا ميزة المواضيع التي تطرحها أنها تفيد في أمور كثيرة غير الموضوع الذي نبحث عنه ، فمن ناحيتي استفدت كثيرا من مواضيعك المطروحة في المنتدى مع أن أغلبها لم أشارك به لقلة معرفتي ولكني متابع لها

أرجوا أن تستمر بطرح أمور مثل هذه حتى لو لم تجد تفاعل كبير معها فأنت لا تتصور مدى فائدتها بالنسبة لي ولغيري من الأعضاء

(f)(f)

#20

أنا أستغرب دائما أخي tmaaa

معليش .

اقتباس
تقول ان كل ما ليس له علاقه بـ vb&access لا ينفع في مجتمعنا  

لماذا نحن نتعلم إذن :rolleyes:

بل لماذا ندخل الجامعات من الاصل :(

إن كان هذا رأيك فالافضل أن نجلس في بيوتنا ونتعلم vbوغيرها:D

أعلم أنه لايوجد شركات تهتم بهذه الامور :D

لكن ربما

عل وعسى ياأخي لاتتشاءم:rolleyes:

لك تحياتي ;)

#21

هل يمكن رفع الملف الى سيرفر خارجي, يبدو ان المشاكل ما زالت موجودة حتى بعد الانتقال الى سيرفر اخر.. الملف غير موجود في قاعدة المنتدى.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#22
اقتباس
هل يمكن رفع الملف الى سيرفر خارجي, يبدو ان المشاكل ما زالت موجودة حتى بعد الانتقال الى سيرفر اخر.. الملف غير موجود في قاعدة المنتدى.

الموضوع قديم ... الملف ليس لدي الآن لكن إن كان هناك ضرورة لوضعة ساحاول البحث عنه مرة أخرى

على العموم الطريقة أظنها هي نفس الطريقة في المقال المكتوب هنا

http://204.157.36.16/index.php?showtopic=86156

إن وجدت الملف سأتاكد إن كانت نفس الطريقة أم لا ....

تم تعديل هذه المشاركة بواسطة cipher في 25 فبراير 2006 في 11:57

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#23

اه, لا باس في هذه الحالة, اردت الاطلاع على كود مكتوب بالـ C واعتقد اني وجدت بعض الافكار في احد الروابط المرتبطة بالصفحة التي زودتني بها. الف شكر.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#24

زمااااااااان ياااا tmaaa :(

كنت تتكلم عن اشياء عام Mar 13 2003 نتكلم عنها الحين Jan 28 2006

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…