5

私は Java 開発者です。しかし、何らかの理由で、自分のタスクを達成するために C# の助けを借りなければなりません。以下に、DLL の作成に使用される C# コードについて説明しました。その DLL は、必要な処理を行うために Java プログラムで使用する必要があります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;

namespace Yrl.Tracingtool
{
public class DocxUtil
{
    public Application Jump(string fileName)
    {

        object fileNameAsObject = (object)fileName;
        Application wordApplication;
        try
        {
            wordApplication = new Application();
            object readnly = false;
            object missing = System.Reflection.Missing.Value;
            wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readnly, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing,
                                            ref missing, ref missing, ref missing, ref missing);
            object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
            object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
            object count = 3;

            wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);

            return wordApplication;
        }
        catch (Exception ex)
        {
            //LogEntry log = new LogEntry();
            //log.Categories.Add("Trace");
            //log.Message = ex.ToString();
            //Logger.Write(log, "Trace");
            throw new System.IO.FileLoadException("File cannot be opened");
        }
        finally
        {
            wordApplication = null;
        }
    }
}
}

私はこのフォーラムと他のフォーラムもチェックしましたが、それらのほとんどは、JNI 呼び出しで C++ または C DLL ファイルを使用することについて話しています。Java から C# DLL を呼び出す方法を知っている人がいたら教えてください。

4

2 に答える 2

2

ICEを使用して、.NET と Java アプリ間の通信を行います。それはまさにあなたが必要とするものではありませんが、役立つかもしれません.

また、「.NET Java bridge」をグーグルで検索することをお勧めします-これにはいくつかのフレームワークがあります(jni4net、JNBridgeなど)

于 2012-06-11T09:23:08.080 に答える
0

JNIを使​​用する必要がある場合があります。

JNIは、JavaNativeInterfaceの頭字語です。JNIを使​​用すると、Javaから他の言語で記述された関数を呼び出すことができます。

以下をご覧ください

http://www.codeproject.com/Articles/2876/JNI-Basics-1

于 2012-06-11T09:18:39.197 に答える