This page has been translated from German

جافا تحت قط ، واجهة المستخدم الرسومية تطبيق رسومية وجيم ألف + + المجمع

بواسطة اندى

استدعاء برنامج خارجي في معظم لغات البرمجة لا توجد مشكلة. وهذه ليست في جاوة. في جاوة ، والتي تبدو في الأساس من هذا القبيل :

  . exec ( "/pfad/zum/program" ) ; وقت التشغيل (ل"/ / الطريق / البرنامج".) GetRuntime. التنفيذية ؛ 

الآن ، ومع ذلك ، يجب على المرء أيضا أن نضع في الاعتبار شروط الحدود. هو ، على سبيل المثال ، جافا داخل القط الذي يحتوي على التطبيق مع تأثيرات السطح ، بطبيعة الحال. من حيث المبدأ ، يتم تشغيل كخدمة قط ، سواء كان ذلك الآن تحت لينكس أو ويندوز ، ويجب أن تلعب أي دور لهذه المشكلة الأساسية.
القط كخدمة أو عملية العميل ليست مجرد حقوق لتشغيل واجهة المستخدم الرسومية ، وبصرف النظر عن حقيقة أنه ليس مضمونا على ملقم يحتوي على واجهة رسومية. هنا ، تجدر الإشارة في الحفاظ على خادم ويندوز عن طريق سطح المكتب البعيد في مقارنة سه / وحدة صيانة نظام لينكس كمثال على ذلك.

وهذا هو ، هو خارجي تشغيل التطبيق (رسوم بيانية) من عملية جافا سطح المكتب ليست مشكلة ، يبدو على ملقم مختلف أيضا.

يمكن الوصول لينكس مستخدم آخر (في ظلها عملية الخدمة) للسماح للخادم العاشر مع آخر يدعى (الذي كان من الذاكرة). في هذه الحالة ، ومع ذلك ، خدمة ويندوز.

service-interaktion-desktop-erlauben

أيضا في ويندوز يبقي على استعداد لهذا المجلس يعني : في إدارة خدمات ، يمكنك تعديل خصائص الخدمة. تحت عنوان "الدخول" هي النقطة "للخدمة بالتفاعل مع سطح المكتب" تصريح. لتمكين هوك ، وحتى خادم عملية ، والتطبيق الرسومية ، مثل وورد أو إكسل بدء.

غالبا ما تكون هذه السنانير ، ولكن ليس الدواء المختار سيكون. على سبيل المثال ، لأنه لم يتم المطلوب مظهر الواجهة الرسومية من التطبيق أو الخادم ببساطة يتم تسجيل أي واحد يجب أن يكون / (على خادم منطقية ليس من غير المألوف). في هذه الحالة لقد وصلنا مع صناديقها جافا الخاصة في نهاية المطاف. في المثال جيم # ، يمكنك البدء في تطبيق غير مرئية وغير مرئية. هذا الاحتمال ليس جافا. لتحقيق هذا يجب علينا أن نبذل تفعل مع المجمع. لبرنامج ويندوز ، وهناك ما يسمى إكس ، رأس ، في هذا يمكنك أيضا إضافة ، أن التطبيق يجب أن يكون مرئيا. وهناك أيضا إشارة SW_HIDE يستخدم. سي + + التالي رمز المكالمات ، بناء على طلب ومجموعات لهم العلم SW_HIDE. للتأكد من أن هذا لا ، ولكن يجب تعيين في كل حالة ، dwFlag STARTF_USESHOWWINDOW.

  # تشمل <windows.h>
 # تشمل <stdio.h>
 # تشمل <tchar.h>

 int argc, TCHAR * argv [ ] ) _tmain الفراغ (argc الباحث ، TCHAR * argv [])
 {
 STARTUPINFO الاشتراكية ؛
 PROCESS_INFORMATION بي ؛

 si, sizeof ( si ) ) ; ZeroMemory (& الاشتراكية ، sizeof (الاشتراكية)) ؛
 sizeof ( si ) ; سي) سي. سي بي = sizeof 
 SW_HIDE ; سي SW_HIDE =. wShowWindow ؛
 STARTF_USESHOWWINDOW ; STARTF_USESHOWWINDOW. الاشتراكية dwFlags = ؛


 pi, sizeof ( pi ) ) ; ZeroMemory (& بي ، sizeof (بي)) ؛

 argc ! = 2 ) إذا كان (argc! = 2)
 {
 "Usage: %s [cmdline] \n " , argv [ 0 ] ) ; printf ("الاستخدام : ٪ ق [cmdline] \ ن" ، argv [0]) ؛
 العودة ؛
 }

 / / بدء عملية طفل.
 ! CreateProcess ( NULL , // No module name (use command line) إذا كان (CreateProcess (فارغة ، / / لا اسم وحدة (استخدام سطر الأوامر)
 ] , // Command line argv [1] ، / سطر الأوامر /
 فارغة ، / / لا مؤشر عملية توريث
 فارغة ، / / التعامل مع الموضوع لا للتوريث
 كاذبة ، / / مجموعة معالجة الإرث إلى خطأ
 CREATE_NO_WINDOW ، / / لا خلق الأعلام
 / / استخدام البيئة الأم كتلة ، لاغية
 فارغة / الأم / استخدم في الدليل بدءا
 وسي ، / / مؤشر إلى بنية STARTUPINFO
 // Pointer to PROCESS_INFORMATION structure وبي) / / مؤشر إلى بنية PROCESS_INFORMATION
 ) 
 {
 "CreateProcess failed (%d). \n " , GetLastError ( ) ) ; printf ("فشل (٪ د) ن. CreateProcess \" ، تمت إعادة ()) ؛
 العودة ؛
 }

 / / انتظر حتى إنهاء عملية طفل.
 , INFINITE ) ; WaitForSingleObject (pi. hProcess ، لانهائي) ؛

 / / إغلاق العملية ويعالج الموضوع.
 ) ; CloseHandle (بي hProcess) ؛
 ) ; CloseHandle (hThread بي.) ؛
 } 

هذا سي + + يمكن قصاصات ، على سبيل المثال مع الحرة بورلاند سي + + مترجم ترجمة ويحصل بالتالي على مجمع عالمي للعلم SW_HIDE لبدء تشغيل البرامج.

ومع ذلك ، فمن الممكن أن لا تكون الأخيرة. لأسباب لا يمكن تفسيره ، وليس من الضروري بالنسبة لي التطبيق المطلوب على المستخدم تحت نظام ويندوز الذي يشغل قط افتراضيا ، ولكن من المستخدم محلية مختلفة تسمح. يمكن ضبط نفسه ، ولكن يتضح أيضا في الحوار أعلاه.

هذا يعني أنه كان من الممكن بالنسبة لي للبدء من جاوة باستخدام سي + + المجمع هو تطبيق رسومية دون الحاجة للمستخدم يتم تسجيل.


العلامات : ، ، ، ،

3 الردود على "جافا على القط ، واجهة المستخدم الرسومية تطبيق رسومية وجيم ألف + + المجمع

  1. بيتر بيرغر المبكر GermanyMozilla FirefoxUbuntu Linux 58 التعليقات على :

    الحذر. باقي الأعضاء والتي قد تكون مختلفة (أعلى) الحقوق. أن القط لتشغيل في نوع استجذار وقد لسبب ما.

  2. تحطم GermanyOperaWindows 293 تعليقات على ما يلي :

    فقلت له نعم ، لا إلى أي مستخدم آخر ، وانما أنشئت خصيصا من أجل قط. ان هذا ليس الحل الأمثل ، فإنه من الواضح ، ولكن للأسف لم يتم حلها بطريقة أخرى.

  3. أين يمكنني GermanyInternet ExplorerWindows 1 التعليق على ما يلي :

    "في المثال جيم # ، يمكنك البدء في تطبيق واللامرئي مرئيا / لا" -- شكرا! ز * *

التعليق

نعم ، أود أن يخطر من التعليقات!