PDA

View Full Version : توابع API به چه Unit هایی احتیاج دارند ؟



Babak-Aghili
پنج شنبه 03 آذر 1384, 01:43 صبح
به عنوان مثال ! خواستم از BroadcastSystemMessage استفاده کنم ولی نوع پارامترها را نمیشناخت .. مثلا DWORD, WPARAM و ...

uses Types هم اضافه کردم .. افاقه نکرد ...

چیچی را باید use کنم ؟

melissa
چهارشنبه 09 آذر 1384, 21:48 عصر
توابع API و اون تابعی که می خوای توی یونیت Windows قرار دارند

DAMAVAND
دوشنبه 22 اسفند 1384, 02:43 صبح
اکثر توابع رو delphi میشناسه.ولی shellapi رو بهuses Types اضافه کن.

vcldeveloper
دوشنبه 22 اسفند 1384, 06:46 صبح
اکثر توابع API ویندوز در یونیت Windows قرار دارند، اما بعضی از توابع خاص در یونیت های جداگانه ای جمع آوری شدند مثل ShellAPI برای توابع Shell ویندوز یا WinInet و...

Ehsansh
جمعه 04 فروردین 1385, 10:13 صبح
mmSystem رو فراموش نکن

javad3d
پنج شنبه 25 مهر 1387, 07:59 صبح
با سلام
اگر امكان داره براي استفاده از IsNetworkActive كدوم Uses رو بايد اعلان نمود.
تابع فوق در فايل SENSAPI.dll قرار دارد
با تشكر

vcldeveloper
پنج شنبه 25 مهر 1387, 15:33 عصر
اگر امكان داره براي استفاده از IsNetworkActive كدوم Uses رو بايد اعلان نمود.
توی یونیت های دلفی تعریف نشده. برای استفاده ازش دو راه دارید:
1- از یونیت های رایگان پروژه JEDI استفاده کنید که سعی کرده اکثر Headerهای مربوط به توابع ویندوز را به دلفی ترجمه کنه:
http://jedi-apilib.sourceforge.net/

2- خودتان با توجه به تعریف و توضیحات آن تابع در MSDN یا فایل Header مربوطه، آن تابع را ترجمه کنید و ازش در کد خودتان استفاده کنید.

javad3d
شنبه 27 مهر 1387, 13:08 عصر
با سلام و لطفي كه در پاسخ به اين مطلب كرديد.
در تعريف پارامتر هاش( از نوع long) مشكل دارم ميشه يك مثال از پارامترش بزنيد.


با تشكر

vcldeveloper
شنبه 27 مهر 1387, 15:11 عصر
interface

uses Windows;

const
NETWORK_ALIVE_AOL = 4;
NETWORK_ALIVE_LAN = 1;
NETWORK_ALIVE_WAN = 2;

function IsNetworkAlive(lpdwFlags : LPDWord): Bool; stdcall external
'Sensapi.dll' name 'IsNetworkAlive';



مثال:


var
Flag : DWord;
begin
if IsNetworkAlive(@Flag) then
begin
case Flag of
NETWORK_ALIVE_AOL : ShowMessage('AOL');
NETWORK_ALIVE_LAN : ShowMessage('LAN');
NETWORK_ALIVE_WAN : ShowMessage('WAN');
end;
end
else
ShowMessage('Not connected');
end;