الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نظم التحكم والجافا

مغلق
بدأه MKSoft في 8 سبتمبر 2005 · 7 رد · 1,040 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إخواني الكرام :

هل يوجد هنا طرق في الجافا للتحكم بالمكونات المادية للحاسوب مثل فتح أو غلق CD-ROM أو للتحكم بنظام التشغيل مثل إطفاء الجهاز وغيرها حيث أن هذا تقريبا موجود في فيجوال بيسك بواسطة التحكم ب Registery ؟

إذا كان هناك وجوود لمثل هذه الطرق أرجو وضع دروس أو أكواد لذلك

#2

أنت قلتها بالرجستري.... وليس بال VB!!

بالتوفيق!!

#3

بال VB تقوم بعمل ذلك عن طريق API و ليس الريجيستري

الشئ الذي يعني انه يمكنك عملها بأي لغة (على ما أظن) و بنفس الطريقة

و هذا هو ال api الذي يقوم بفتح و غلق السواقة

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

لفتح السواقة :

mciSendString "set cdaudio door  open", 0, 0, 0

لغلقها :

mciSendString "set cdaudio door  closed ", 0, 0, 0

و انا لا ادري اذا كنت تستطيع مناداة هذا ال API في الجافا

تم تعديل هذه المشاركة بواسطة crazy-man في 9 سبتمبر 2005 في 04:13

#4

حقيقة طريقة فتح وغلق الـ CD-ROM أو حتى إطفاء الجهاز أو ما هنالك من هذه الأمور ليست من الريجيستري ولكنها باستدعاء توابع API خاصة من مكتبات DLL موجودة في ويندوز، فإذا كانت هناك توابع مشابهة في بقية أنظمة التشغيل فيجب أن تستطيع الـ JVM مناداتها. ولكن من الواضح أنه لا يوجد مثل هذه الأشياء في Java. ربما لأن مبرمجوا Java غالباً يهتمون بالبرامج المؤسساتية وتطبيقات الإنترنت، ويقللون اهتمامهم في البرامج المكتبية لذلك لا يهتمون في أمور التحكم بنظام التشغيل.

#5

كما قال كريزي.. استعمل Java JNI للوصول إلى هذه الأوامر الخاصة بالنظام!

#6

تستطيع اطفاء الجهاز بواسطة تعليمة الدوس

Runtime.getRuntime().exec("rundll user.exe,exitwindows");

و بالنسبة للسواقة فعليك بـ JNI

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#7

من أجل اغلاق نظام Windows بامكانك استعمال التعليمة shutdown ضمن سطر الأوامر كما يلي :

shutdown -s

من أجل اعاداة التشغيل

shutdown -r

من أجل اعادة التشغيل الاجباري

shutdown -r-f

بالمناسبة أخي رامي التعليمة التي ذكرتها سابقا لا تعمل على أنظمة Microsoft الجديدة !

الأخوة الأعزاء :

هل بامكانكم شرح كيف بالامكان استدعاء تابع API عن طريق JNI بوضع مثال صغير مثلا اغلاق نظام التشغيل Windows

مدونتي

http://mbnoimi.net

#8

السلام عليكم ورحمة الله وبركاته

اما بعد:

هنا تستطيع ان تتحكم في اوامر النظام(الدوس) عن طريق برنامج الجافا

(يعني لازم تتعلم اوامر الدوس اولاً)

في هذا البرنامج اقوم بتنفيذ اوامر الدوس من داخل الجافا كما يلي:

import java.io.*;

public class Shutdown

{

public static void main(String[] args)

{

Runtime r = Runtime.getRuntime();

Process p = null;

try

{

//هذا الامر سوف يقوم باغلاق الجهاز بعد دقيقتين(120)ثانية

p=r.exec("shutdown -r -t 120 -c \"Shuting Down\"");

// to cacel shutdown process

// لالغاء عملية اطفاء الجهاز

p= r.exec("Shutdown -a");

}

catch(Exception e)

{

System.out.print(e.getStackTrace());

}

}

}

وتقبلوا تحياتي....

هذا الموضوع مغلق.

مواضيع مشابهة