PDA

View Full Version : سوال: استفاده از توابع API درست است یا خیر؟



forodo
یک شنبه 06 بهمن 1392, 17:01 عصر
سلام
من توی برنامه ام از توابع کتابخانه ای ویندوز استفاده کردم.
آیا اگر برنامه ام را توی ویندوز xp یا ویندوز 8 اجرا کنم باز هم به درستی کار می کند یا خیر؟
آیا اصلاً استفاده از توابع api درست است؟

sagggad
یک شنبه 06 بهمن 1392, 17:06 عصر
با سلام
توابع API توابعی هستند که به لایه ای از ویندوز و سیستم عامل دسترسی دارن
یعنی با یک سری از فایل های کتابخانه ای و فرمت های DLL مثل user32 که کنترل های سیستم عامل رو در اختیار دارند ارتباط دارد
این فایل های dll تا اونجایی که من مطلع هستم در تمام ویندوز ها و سیستم عامل ویندوز وجود دارد.
تا اونجایی که من تجربه داشتم تمامی توابع API مورد استفاده در ویندوز XP در ویندوز 7 نیز کار میکنند
حالا ویندوز 8 رو دوستان باید بگن
موفق باشید

mthreat.info
یک شنبه 06 بهمن 1392, 17:19 عصر
بله کار خوبی هست فقط به شرط دنبال کردن اخبار این مایکروسافت ...
مثلا API ایجاد بوق یا Beep تو ویندوز Xp یک بوق ممتد ایجاد میکرد ولی همون کد تو ویندوز 7 بوق مقطعی تولید میکنه 8 رو تست نگرفتم :D
یک سری api رو هم فقط تو xp کار میکنن چون تو 7 یا 8 حذف شدن (اسمشون رو یادم نمیاد ولی مطمئن هستم)

forodo
یک شنبه 06 بهمن 1392, 17:29 عصر
دقیقاً مشکل اینه که ورودیه تابع ها عوض شده یا نه!
الان من برای پرشدن پروگرس بار آیکون برنامه در تسک منیجر با api کار کردم و خب لذت می برم وقتی نگاه می کنم. حالا اگه من اینو ببرم توی ورژنهای دیگه ویندوز کار میکنه؟
حالا این مثلاً میشه پاکش کرد اگه کار نکنه ولی یه کار پیچیده ای انجام دادی که شاید نشه. آهان من توی برنامه با توابع api روی فولدر یک آیکون می ندازم که اگه پاک کنم برنامه ام دیگه آیکون نمی ندازه.

اصلاً از نظر سرعت چطورن؟

sagggad
یک شنبه 06 بهمن 1392, 17:45 عصر
توابع API چون با لایه ی ویندوز در ارتباط هستن فک کنم سرعتشون بد نیست

Mousavmousab
یک شنبه 06 بهمن 1392, 18:58 عصر
سلام
بر حسب منابعی که قبلاٌ خوندم مایکروسافت توی ویندوز 8 به بعد داره یه کارهایی می کنه که نتیجش این میشه توابع API به طور محسوسی عوض بشن. در این صورت تمام برنامه ها باید بازنویسی بشن.
همین مسئله باعث نگرانی های شدیدی برای برنامه نویسان شده بود.
ولی دوست عزیز نگران این نباش که برنامه هات حتماٌ روی N تا سیستم عامل اجرا بشن. همین که روی سون اجرا میشه کلاتو بنداز هوا.

موفق باشید.

forodo
یک شنبه 06 بهمن 1392, 19:00 عصر
ولی دوست عزیز نگران این نباش که برنامه هات حتماٌ روی N تا سیستم عامل اجرا بشن. همین که روی سون اجرا میشه کلاتو بنداز هوا.

یعنی سون انقدر درب و داغونه؟!؟! :متعجب:
متوجه نشدم منظورتون چی بود! :گیج:

nathan
دوشنبه 07 بهمن 1392, 08:56 صبح
بله کار خوبی هست فقط به شرط دنبال کردن اخبار این مایکروسافت ...
مثلا API ایجاد بوق یا Beep تو ویندوز Xp یک بوق ممتد ایجاد میکرد ولی همون کد تو ویندوز 7 بوق مقطعی تولید میکنه 8 رو تست نگرفتم :D
یک سری api رو هم فقط تو xp کار میکنن چون تو 7 یا 8 حذف شدن (اسمشون رو یادم نمیاد ولی مطمئن هستم)

دوستمون دقیقاً درست میگن مایکروسافت در برابر توسعه دهندگان هیچ مسئولیتی نداره با احتیاط از این توابع استفاده کنین.

mthreat.info
دوشنبه 07 بهمن 1392, 10:09 صبح
عزیز Aero روی ویستا به بالا ایجاد شده !
اصلا مایکروسافت تمام فخر فروشیش برای همین Aero هست ، از نظر اگه میخوای از Aero استفاده کنی یا با API یا با قابیلت خود Dll اول چک کن ببین پشتیبانی میکنه یا نه :D من اول نفهمیدم منظورتون Aero هست

مهرداد صفا
دوشنبه 07 بهمن 1392, 15:10 عصر
با سلام.
استفاده از توابع API ویندوز تقریبا در پایین ترین سطح در برنامه نویسی ویندوز قرار دارد و خود .NET هم در اکثر موارد از این توابع استفاده می کند. استفاده درست از توابع api ویندوز، با وجود پیچیدگی هایی که نسبت به managed class library دارد، حداکثر سرعت و کارایی را به همراه خواهد داشت. اکثر توابع در نسخه های ویندوز تغییر زیادی نکردند ولی باز هم بد نیست در مورد توابع به msdn رجوع شود.

fmehrvarzi
دوشنبه 07 بهمن 1392, 16:31 عصر
عزیز Aero روی ویستا به بالا ایجاد شده !
اصلا مایکروسافت تمام فخر فروشیش برای همین Aero هست ، از نظر اگه میخوای از Aero استفاده کنی یا با API یا با قابیلت خود Dll اول چک کن ببین پشتیبانی میکنه یا نه :D من اول نفهمیدم منظورتون Aero هست

Aero به صورت پیش فرض از ویندوز 8 برداشته شده! و مترو دیزاین جاشو گرفته!

Windows 8[edit]
While retaining interface elements introduced by Vista and 7, Windows 8 and Windows Server 2012 make changes to the visual appearance of the operating system to incorporate the Metro design language. As a result of these changes, the Aero Glass theme was replaced by a flatter, solid colored theme. Most transparency effects were removed from the interface, aside from the taskbar, which maintains transparency (but no longer has a blur effect).[9][10] Flip 3D was also removed; ⌘ Win+Tab ↹ now toggles between apps.
منبع: http://en.wikipedia.org/wiki/Windows_Aero
فکر کنم این هم به آشغالهای مایکروسافت پیوست!