# فناوری جاوا > برنامه‌نویسی جاوا > Java SE : نگارش استاندارد جاوا > سوال: استفاده از توابع ویندوز در جاوا

## rahafrouz

سلام 
کسی می داند چگونه می توان کارهایی که در ویندوز می شود انجام داد مثل عکس گرفتن از صفحه نمایش ویا کنترل کامپیوتر دیگران در شبکه را انجام داد؟(از طریق شبکه)مثلا برای کنترل دیگران در شبکه ای مثل کتابخانه و مدرسه و ....  
من یک برنامه ای برای مدرسه دیدم که مثل کارت گرافیک یک درایور برای خودش درست می کرد(برای کلاینت) و سرور می توانست بر کار آنها نظارت کند
راستش می خواستم بدانم که آیا با جاوا چنین کارهایی می توان کرد؟

----------


## manvaputra

> مثل کارت گرافیک یک درایور برای خودش درست می کرد(برای کلاینت) و سرور می توانست بر کار آنها نظارت کند


این یعنی چی؟

----------


## saeed_Z_F

سلام
برای استفاده از توابع بومی در جاوا باید از JNI استفاده کنید .

http://en.wikipedia.org/wiki/Java_Native_Interface

----------


## rahafrouz

یعنی اینکه در دیوایس منیجر کلاینت درایور دو کارت گرافیکی است که یکی کارت گرافیکی است و دیگری درایوری است که مربوط به برنامه است و سرور می تواند مانیتور کلاینت ها ببیند و یا آنها را قفل کند  و  یا خاموش کند.
و حتی این برنامه می تواند کامپیوترهای خاموش در شبکه را روشن کند! آیا کسی نمیداند چگونه می توان این کار را کرد؟ آخه یه کمی عجیب به نظر می رسه!

----------


## rahafrouz

آخر كسي نفهميد؟

----------


## mazdadoost

دوست عزیز :
در کل توصیه میشه برای برنامه نویسی سیستمی(رابطه باسخت افزار به شکله عام)از زبان هایی مثل C و ++C استفاده کنید.هر چند برای استفاده از JNIهم شما باید از C و CPP استفاده کنید.در کل میتونید با جواب به این سوال که :برنامه شما بیشتر سیستم محوره تا کاربردی انتخاب مناسبی داشته باشید.اگر که قسمت عمده برنامتون سیستمی به سمته CPP برید و اگر جز موارد معدودی کار سیستمی در برنامتون نسیت میتونید از جاوا استفاده کنید و بعد برای کارایه باقی مونده از JNI و توابع ویندوز و در حالت بهتر از System Calls استفاده کنید.
اینکه چطور از JNI استفاده کنید واقعا توضیحش در فرم و آموزشش سخته.اول باید CPP رو خوب یاد بگیرید.بعد باید API ویندوز رو یاد بگیرید(و با ساختار ها و دیتا تایپ های متعددش آشنا بشید و اگه مجموعه امکانات شما توسط اشیاء COM پیاده شده باشه شما باید با اتوماسیون و برنامه نویسسیش به زبان CPP آشنا بشید و ...)در نهایت باید با JNI و توابع خواصه اون و قواعد ردو بدل داده ها بین جاوا و CPP آشنا بشید .

موفق باشید.

----------


## Danial_abdi

> دوست عزیز :
> در کل توصیه میشه برای برنامه نویسی سیستمی(رابطه باسخت افزار به شکله عام)از زبان هایی مثل C و ++C استفاده کنید.هر چند برای استفاده از JNIهم شما باید از C و CPP استفاده کنید.در کل میتونید با جواب به این سوال که :برنامه شما بیشتر سیستم محوره تا کاربردی انتخاب مناسبی داشته باشید.اگر که قسمت عمده برنامتون سیستمی به سمته CPP برید و اگر جز موارد معدودی کار سیستمی در برنامتون نسیت میتونید از جاوا استفاده کنید و بعد برای کارایه باقی مونده از JNI و توابع ویندوز و در حالت بهتر از System Calls استفاده کنید.
> اینکه چطور از JNI استفاده کنید واقعا توضیحش در فرم و آموزشش سخته.اول باید CPP رو خوب یاد بگیرید.بعد باید API ویندوز رو یاد بگیرید(و با ساختار ها و دیتا تایپ های متعددش آشنا بشید و اگه مجموعه امکانات شما توسط اشیاء COM پیاده شده باشه شما باید با اتوماسیون و برنامه نویسسیش به زبان CPP آشنا بشید و ...)در نهایت باید با JNI و توابع خواصه اون و قواعد ردو بدل داده ها بین جاوا و CPP آشنا بشید .
> 
> موفق باشید.


سلام دوست عزیز 

چرا شما می گویید که اگر کارهای سیستمی زیاد است با CPP انجام بدهیم ؟ آیا جاوا در این زمینه نقص دارد ؟ یا اینکه با CPP برنامه بهتری می شود؟

----------


## Cold.82

> سلام دوست عزیز 
> 
> چرا شما می گویید که اگر کارهای سیستمی زیاد است با CPP انجام بدهیم ؟ آیا جاوا در این زمینه نقص دارد ؟ یا اینکه با CPP برنامه بهتری می شود؟


بله فکر کنم جاوا در این زمینه ضعف دارد چون جاوا مستقل از سیستم عامل است 
در کل استفاده از jni توصیه میشود

----------


## mazdadoost

> سلام دوست عزیز 
> 
> چرا شما می گویید که اگر کارهای سیستمی زیاد است با CPP انجام بدهیم ؟ آیا جاوا در این زمینه نقص دارد ؟ یا اینکه با CPP برنامه بهتری می شود؟


دوست عزیز :
در کل جاوا برای نوشتن برنامه هایی برای کنترل سخت افزار و سیستم عامل خلق نشده است.اما C و CPP با چنین دیدگاهی ساخته شده اند(هرچند در حاله حاضر هم تعداد بسیاری از برنامه های کاربردی عالی برای سیستم عامل های ویندوز -یونیکس-لینوکس -MAC و سولاریس مانند Photoshop-office-Dreamwaver وووووبا استفاده از CPP نوشته میشوند).
اما از آنجاییکه فلسفه جا سادگی-استقلال از پلت فرم وامنیت است با توجه به این فلسفه میبایست ضعف ها و قدرت جاوا را سنجید که الحق ضعف های بسیار کمی دارد.پس در کل جاوا در زمینه توسعه برنامه های کاربردی سیستمی و برنامه های سیستمی محض نقصی ندارد چون اصولا برای چنین فلسفه و کاربردی ساخته نشده است!
موفق باشید.

----------

