سلام و درود
براستی اتریب از جان api چه میخواهد؟! D:
خب خوبید دوستان D:؟ چند روزه هعی پست های مختلف از api ویندوز میزاریم گفتم خب api که سرعت و حجم رو پایین میبره پس چرا همینکارو با پایتون نکنیم؟!
پایتون به این نازی ):
خب اول از هرچیز بگم که برای ادد کردن لایبراری ها باید از کتابخونه ی ctypes استفاده کنیم :
from ctypes import *
بعله -_-
خب حالا برای اد کردن یک لایبراری به برناممون باید چه کنیم؟
خب ابتدا بزارید 3 بخش اصلی اد کردن لایبراری رو براتون توضیح بدم که البته ما فقط از windll استفاده میکنیم ^^ :
1 - windll :
این تابع برای اد کردن هرگونه لایبراری ای که از استاندارد stdcall استفاده میکنه استفاده میشه و برای api ویندوز هم باید از این روش استفاده کرد.
2 - oledll :
این برای لایبراری های com و سیستم عامل داس استفاده میشه
3 - cdll :
این برای اد کردن توابعی با استاندارد cdel هست.
خب یه نکته ای : میتونید به جای api ویندوز هرگونه لایبراری ای رو با windll اد کنید مثلا میتونید با c++ یه لایبراری بسازید و توی پایتون استفادش کنید که نقاط ضعف پایتون رو پوشش میده ، مثلا میتونید برای استفاده از مولتی پروسسینگ از سی یا سی++ استفاده کنید.
خب حالا میخوایم یه لایبراری رو اد کنیم
باید از تابع LoadLibrary از هرگونه 3 تابع بالا استفاده کنیم که اینجا windll مد نظر ماست.
یه نکته : در تمامی فایل های اجرایی ویندوز تابع LoadLibrary به صورت پیش فرض وجود داره. برای اطلاعات بیشتر حتما سرچ کنید.
خب آرگومان این تابع اسم و آدرس مسیر لایبراری هست ، ما باید اونو در تابع گزاشته و شی بگیریم که در کد زیر اسم شی من v32 هست :
v32 = windll.LoadLibrary("kernel32.dll")
اینجا من kernel32 رو اد کردم تو برنامه.
یه نکته : واژه ی اد کردن درست نیست در واقع باید بگیم لایبراری در برنامه بارگزاری شده است.
خب حالا میتونیم از توابع مختلف استفاده کنیم، مثلا برای حذف یه فایل :
v32.DeleteFileW("Virus32.txt")
از تابع DeleteFileW استفاده کردم و فایل ویروس32 دات تکست رو حذف کردم.
این توابع رو میتونید از سایت ماکروسافت پیدا کنید.
یه نکته : بنظر خودم برید درباره ی توابع windows.h تو سی++ بخونید از همونجا میتونید پیدا کنید لایبراری اون تابع رو و در هر زبونی استفاده کنید.
نکته ی دیگر : این توابع در لایبراری های ویندوزه و در هرگونه زبانی چه سی شارپ چه پایتون چه هر زبونی قابل استفاده است.
با تشکر .
خسته نباشی مستر