PDA

View Full Version : windows api in c++



tah_206207
پنج شنبه 06 خرداد 1389, 15:20 عصر
سلام دوستان آیا ویندوز دارای api هایی برای کنترل مودم و کارت صوتی و کارت گرافیکی وکلا کارهای سیستمی می باشد؟ لطفا اگه داره کمی توضیح دهید
چطوری میتونم کارهای سیستمی واسه ویندوز با سی پلاس پلاس بنویسم؟ اگه کتابی در این مورد هست معرفی کنید
با تشکر

vcldeveloper
پنج شنبه 06 خرداد 1389, 15:39 عصر
آیا ویندوز دارای api هایی برای کنترل مودم و کارت صوتی و کارت گرافیکی وکلا کارهای سیستمی می باشد؟
اگر نداشته باشه که دیگه سیستم عامل نیست!


چطوری میتونم کارهای سیستمی واسه ویندوز با سی پلاس پلاس بنویسم؟
چه نوع کار سیستمی؟ اینکه یکی بخواد کنترل کاملی روی این سخت افزارها داشته باشه، باید بره درباره Device Driver نوشتن در سطح کرنل در ویندوز تحقیق کنه. برای این کار مستنداتی خودِ مایکروسافت ارائه میکنه، با نام Driver Development Kit (یا DDK). علاوه بر اون، کتاب هایی هم در این زمینه نوشته شدند.
اما بسیاری از امور عادی مربوط به کنترل این ابزارهای جانبی نیازی به کنترل کامل این دستگاه ها ندارند، و میشه با استفاده از توابع API در User Mode و بدون نوشتن درایور هم اون کارها را انجام داد. شما باید مشخص کنید که چیکار میخواید بکنید.

tah_206207
پنج شنبه 06 خرداد 1389, 15:42 عصر
من نمی خوام درایور بنویسم فقط کار های کنترلی می خوام رو این device ها داشته باشم مثلا یه برنامه ای واسه کارت صوتی بنویسم که وقتی با میکروفون حرف می زنم اونارو پخش کنه و یا واسه مودم و کارهایی از این قبیل

tah_206207
جمعه 07 خرداد 1389, 00:13 صبح
آیا کسی نیست که جواب بده؟

tdkhakpur
جمعه 07 خرداد 1389, 00:21 صبح
من نمی خوام درایور بنویسم فقط کار های کنترلی می خوام رو این device ها داشته باشم مثلا یه برنامه ای واسه کارت صوتی بنویسم که وقتی با میکروفون حرف می زنم اونارو پخش کنه و یا واسه مودم و کارهایی از این قبیل

میتوانید یه بسته های نرم افزاری مربوط به کامپوننتها یک سری بزنید و راحتتر خواسته خودتان را عملی کنید.
ولی برای مودم کدهای خاص لازم دارید تا با اون ارتباط برقرار کنید و کارش با کارت صوتی تقریبا خیلی جداست. عموما کارخانه سازنده کارتهای صوتی باید درایور را به همراه سخت افزار ارائه بدهند و تقریبا الگوریتم کار سخت افزار را از کاربران مخفی نگه میدارند.

tah_206207
شنبه 08 خرداد 1389, 11:55 صبح
میبخشید این بسته های نرم افزاری مربوط به کامپوننت ها کجا هستند؟:عصبانی++:

Nima_NF
شنبه 08 خرداد 1389, 14:38 عصر
من نمی خوام درایور بنویسم فقط کار های کنترلی می خوام رو این device ها داشته باشم مثلا یه برنامه ای واسه کارت صوتی بنویسم که وقتی با میکروفون حرف می زنم اونارو پخش کنه و یا واسه مودم و کارهایی از این قبیل
کارهایی که شما گفتید همگی با یادگیری Windows API قابل انجام هست. حتی توسط بسیاری از کتابخانه های دیگر هم قابل انجام هست، چون شما دسترسی کامل نیاز ندارید و می خواهید از سخت افزار استفاده کنید (برای ضبط و پخش صوت، کار با مودم، ارسال و دریافت دیتا، و غیره توابع API وجود دارد).

در هر حال، ابتدا کتاب win32 را تهیه کنید و شروع به یادگیری در سطح اولیه کنید (ساخت پنجره و غیره ) .
سپس برای کارهای صوتی، بخش مربوط به صوت را از MSDN مطالعه کنید. در بخش Visual C++‎‎ چندین مرتبه کتابخانه ها، مثال ها و کار با صوت بیان شده است.

به بخش VC++‎‎ بروید و در اعلان لیست کتاب ها بیان شده است.
مثلا کتابProgramming Windows fifth edition که در بخش آخر نمونه کار با صوت هم هست.

tah_206207
پنج شنبه 13 خرداد 1389, 15:31 عصر
سلام ممنون که کمک کردید همین کارها رو میشه تو لینوکس هم انجام داد؟
آیا میشه با کتابخانه qt این کارهارو انجام داد؟ ممنون میشم بازم راهنماییم کنید
یعنی با QT برنامه بنویسم و روی دو سیستم عامل هم اجرا بشه
یا با زبان جاوا این کارهارو انجام داد؟

Nima_NF
پنج شنبه 13 خرداد 1389, 17:43 عصر
سلام ممنون که کمک کردید همین کارها رو میشه تو لینوکس هم انجام داد؟
آیا میشه با کتابخانه qt این کارهارو انجام داد؟ ممنون میشم بازم راهنماییم کنید
یعنی با QT برنامه بنویسم و روی دو سیستم عامل هم اجرا بشه
یا با زبان جاوا این کارهارو انجام داد؟
بله با Qt هم می توانید انجام دهید.
در لینوکس نیز تقریبا همانند ویندوز هست (البته معمولا برای لینوکس باید کتابخانه های جداگانه برای برخی کارها تهیه کرد).
اگر در Qt تابع خاصی نبود، می توانید مستقیما از API های سطح پایین همان سیستم عامل داخل Qt استفاده کنید.