سؤال

في تطبيق جافا (JRE 1.5.0_12) على نظام التشغيل Windows XP، أسميه أسلوب الأصلي:

public native int attachImage( ... );

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

هل كانت مفيدة؟

المحلول

وماذا حزمة واجهة المستخدم الرسومية الذي تستخدمه؟

ويجب أن تكون قادرة على تنفيذ ذلك دون اللجوء إلى JNI يدعو.

وعلى سبيل المثال، في سبحانه وتعالى، يمكنك فتح قذيفة تطبيق مشروط مثل هذا:

Shell shell = new Shell(display,SWT.APPLICATION_MODAL);

لالبديل، وهذا من شأنه أن يكون:

dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);

نصائح أخرى

هل طريقة attachImage الخاصة بك لم يتم تعيين بشكل صحيح الإطار الأصل إلى إطار تطبيق جافا الخاص بك؟ يمكن الحصول على HWND لذلك يمكن أن تكون خادعة (GetForegroundWindow / الخ؟) ولكن قد يكون من الضروري؟

وأيضا، لماذا لا الجزء حاجة الصورة ليكون JNI؟ التي قد تساعدنا تجد لك الحل الذي يتجنب الجزء JNI تماما؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top