API هاي ويندوز و طرز استفاده آنها در وی بی » پورتال اینترنتی وب تو فا

  RSS 2.0 تماس با ما دیکشنری آنلاین عضویت صفحه اصلی  
 
ورود و خروج
نام کاربری:
کلمه عبور:
 
 
آخرین مطالب
» زلزله شیلی محور زمین را تغییر داد
» مغزهای متفکر بزرگترین جنایت رایانه ای جهان دستگیر شدند
» فرمول ریاضی ازدواج موفق کشف شد
» كودكي با 8 دست و پا
» رايانه روميزي جديد بدون "كيس "
» نسخه موبايل ويكي پديا
» تاريخچه مختصري در مورد فايلهاي پيکر بندي
» تبديل فايل هاي پي دي اف فارسي به متن (PDF to Word)
» WiFi چیست؟
» IBM تحلیل داده ها را با الگوریتم جدید سرعت می بخشد
 
مطالب برتر
» دانلود آهنگ های استاد ایرج خواجه امیری
» خاموش کردن کامپیوتر در یک زمان معین
» تشخیص هویت با اثر انگشت
» كودكي با 8 دست و پا
» آیا فیلتر دیواری برای کاربران است ؟
» تبديل فايل هاي پي دي اف فارسي به متن (PDF to Word)
» WiFi چیست؟
» تاريخچه مختصري در مورد فايلهاي پيکر بندي
» نسخه موبايل ويكي پديا
» IBM تحلیل داده ها را با الگوریتم جدید سرعت می بخشد
 
مطالب تصادفی
» آنهایی که از خودشون راضی نیستند ، بخونند!
» کارت هوشمند چيست؟
» پياده‌سازي الگوريتم درخت جستجوي دودويي
» آهنگ پایانی سریال پرطرفدار جومونگ
» دانلود سورس برنامه ساخت تصاویر امنیتی در php
» رفع کننده جوش‌های صورت و درد و ناراحتی‌های محل آن
» آیا فیلتر دیواری برای کاربران است ؟
» احتمال پایان آدرس های اینترنتی تا دو سال آینده
» دستان همیشه خیس
» آموزش راه‌اندازی شبکه خصوصی مجازی (VPN)
 
آرشیو مطالب
» اسفند 1388 (12)
» بهمن 1388 (16)
» دي 1388 (13)
» آذر 1388 (13)
» آبان 1388 (10)
» مهر 1388 (20)
» شهريور 1388 (20)
» مرداد 1388 (23)
» تير 1388 (13)
» خرداد 1388 (37)
» ارديبهشت 1388 (94)
 
تقویم
<    «  ارديبهشت 1388  »    >
شيدسچپج
 1234
567891011
12131415161718
19202122232425
262728293031 
 
 



برای کرک کردن آپدیت آنتی ویروس نود 32 تا سال 2050 اینجا کلیک کنید

کامپیوتر و اینترنت » برنامه نویسی : API هاي ويندوز و طرز استفاده آنها در وی بی
نویسنده: ahmadflasher تاریخ: 3 ارديبهشت 1388 بازدید: 67 بار

امروز قصد داریم در مورد API هاي ويندوز و چگونگي استفاده از آنها در ويژوال بيسيک بطور خلاصه توضيح دهم و همچنين دو مثال پراستفاده را نيز در اين زمينه بيان کنم که عبارتند از چگونگي پخش فايلهاي Wav و ساخت يک تايمر با دقت بالا :

۱ - آشنايي با Windows API : واژه API مخفف Application Programming Interface مي باشد . API هاي ويندوز مجموعه اي از توابع از پيش آماده موجود در سيستم عامل هستند که شما مي توانيد آنها را در برنامه هاي خود فراخواني کنيد . اين توابع در چندين کتابخانه DLL ويندوز ذخيره شده اند . براي دسترسي به اين توابع در ويژوال بيسيک ابتدا بايد آنها را برنامه خود declare کنيد . براي مثال :
به ادامه مطلب مراجعه کنید ...

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long


همانطور که مي بينيد مثال فوق يک Declare از تابع sndPlaySound مي باشد که اين تابع در کتابخانه Winmm.dll موجود است . کلمه Alias نشان مي دهد که اين تابع نام ديگري در dll دارد . ساير بخشها مربوط به تعريف پارامترهاي تابع مي باشند که در مورد مثال فوق ، اين تابع دو پارامتر ورودي و يک خروجي از نوع Long دارد .
پس از Delare کردن API در برنامه مي توانيد از آن استفاده نمائيد .

۲ - پخش فايلهاي Wav : تابعي که براي پخش فايلهاي Wav استفاده مي شود تابع sndPlaySound است که در بالا با آن آشنا شديد . پارامتر lpzSoundName نام و مسير فايل Wavو پارامتر uFlags چگونگي پخش فايل را مشخص مي کند . مقادير ممکن اين پارامتر عبارتند از :
- SND_ASYNC : اجازه مي دهد طوري فايل Wav پخش شود که آنرا بتوان وقفه داد . بعبارت ديگر قادر خواهيد بود فايل Wav تان را هر زمان که بخواهيد پخش کنيد و مطمئن باشيد که حتماً شنيده مي شود .
- SND_LOOP : فايل Wav را بطور ممتد پخش مي کند .
- SND_NODEFAULT : اگر فايل Wav پيدا نشود صداي ديگري پخش نخواهد شد ( مثلاً برخي صداهاي default ويندوز )
- SND_SYNC : در طول پخش فايل Wav کنترل به برنامه داده نمي شود . اين پارامتر در زمانيکه مي خواهيد فايل Wav اي را در پس زمينه برنامه تان پخش کنيد مناسب نمي باشد .
- SND_NOSTOP : اگر فايل Wav اي قبلاً در حال پخش باشد ، فايل Wav شما آنرا دچار وقفه نمي کند . از اين پارامتر زماني استفاده مي شود که بخواهيم فايل Wav مان هيچوقت در وسط کار قطع نشود .
اگر بخواهيد از بيش از يکي از اين پارامترها استفاده کنيد توسط Or آنها را ترکيب نمائيد مثال :

sndPlaySound App.path & "\ding.wav", SND_ASYNC or SND_LOOP

نکته : براي استفاده از توابع صوتي پيچيده تر بايستي از DirectSound که يکي از اجزاي DirectX مي باشد استفاده کنيد . در مورد DirectSound بعداً صحبت خواهم کرد .

۳ - ساخت يک تايمر با دقت بالا : شايد تا بحال از کنترل تايمر موجود در نوار ابزار ويژوال بيسيک استفاده کرده باشيد . اين تايمر داراي دقت حدود ۵۵ ميلي ثانيه است . براي دستيابي به زمانهاي با دقت بالاتر اين کنترل مفيد نخواهد بود .
تابع GetTickCount يک API موجود در کتابخانه Kernel32.dll است . اين تابع طول زماني را که سيستم شروع به کار کرده است را برحسب ميلي ثانيه برمي گرداند :

Private Declare Function GetTickCount Lib "kernel32" () As Long

براي بررسي طي شدن يک مدت زماني خاص شما ابتدا بايد مقدار اين تابع را در يک متغير کمکي مثل TempTime قرار دهيد سپس در يک حلقه Do-Loop بايد اختلاف زمان GetTickCount جديد و زمان TempTime را با مقدار زماني که مي خواهيد سپري شود مقايسه کنيد :

TempTime = GetTickCount()x
Do While DesiredTime < GetTickCount() - TempTime
Do some things'
Loop


توسط کد بالا مي توان يک عمليات خاص را براي يک مدت زماني مشخص اجرا کرد .
کد زير نشان مي دهد که چگونه مي توان دستورات خاصي را در فواصل زماني خاص اجرار کرد :

ExitFunction = False
TempTime = GetTickCount()x
Do While not(ExitFunction)x
If DesiredTime < GetTickCount() - TempTime then
Reset the temporary variable'
TempTime = GetTickCount()x
Do some things'
End If
Loop


همچنين از تابع GetTickCount مي توان براي benchmark برنامه ها استفاده کرد . بعبارت ديگر مي توان زمان اجراي يکسري دستورات خاص را بدست آورد


 
فقط کاربران عضو می توانند این بخش را مشاهده کنند...

مطالب مشابه:

  • بازکردن رمز رم موبايل ، بازکردن رمز مموري ...
  • چگونه يك هكر شويد ؟
  • معيارهاي انتخاب همسر
  • جلوگیری از آلوده شدن فلش به ویروس اتوران
  • تاريخچه مختصري در مورد فايلهاي پيکر بندي
  • نکاتی مفید در مورد تنظیم php.ini


  • نظرات (0)   نسخه قابل چاپ
     ( امتيازها: 1)

    ارسال نظر
    نام:
    ایمیل:

    کد امنیتی:
    تصوير كد امنيتي
    ريست کد
    کد امنیتی:

     

     
     
    منوی اصلی
     صفحه اصلی    آمار سایت    جستجوی پیشرفته   مطالب جدید    دیکشنری آنلاین   آخرین نظرات    تماس با ما  
     
    موضوعات
     
    نظر سنجی
    نظرشما در مورد این سایت؟

    عالي
    خوب
    متوسط
    بد
     
    آمار
    نويسندگان برتر 1- (ahmadflasher (189
    2- (ALUx (53
    3- (SeZaR 800 (29
    آمار مطالب يک ساعت پيش: 0
    امروز: 0
    اين ماه: 14
    کل: 271
    کل نظرات: 125
    آمار اعضا يک ساعت پيش: 0
    امروز: 2
    اين ماه: 35
    کل: 415
    بن شدگان: 1
    سه عضو آخر:
    zorzor
    hajar
    saeidphp

    آمار بازدیدها
     
    لینکهای سایت
    » Datalife Engine Farsi
    » ایران پی اچ پی
    » برنامه نویس
    » کارشناسی دات کام
     
     
     
    CopyRight All Reserved By .:Web2Fa.com:.-2008-2009- Powered By DataLife Engine