我有一个用C#编写的third party dll文件。它有一些名为TaskService,TaskDefinition,TaskScheduler的对象。这些类还有一些我想从java调用的方法和成员变量。我怎么能这样做?
假设我有以下C#代码。那我怎么能用Java转换那段代码呢?
TaskService taskService = new TaskService();
TaskDefinition taskDefinition = taskService.NewTask();
taskDefinition.RegistrationInfo.Description = "MyAPP Skip UAC";
taskDefinition.Triggers.Add(new Microsoft.Win32.TaskScheduler.LogonTrigger() { UserId = WindowsIdentity.GetCurrent().Name });
taskDefinition.Actions.Add(new Microsoft.Win32.TaskScheduler.ExecAction() { Path = Application.ExecutablePath.ToString().ToLower() });
taskDefinition.Principal.RunLevel = TaskRunLevel.Highest;
taskService.RootFolder.RegisterTaskDefinition("MyAppSkipUAC",taskDefinition);
我已经google了很多但是找不到合适的方法来实现它或任何代码片段。我得到的只是从Java调用C / C ++ dll并调用c#方法。我对任何类型的os解决方案持开放态度。任何第三方库或JNA / JNI方法都可以。
答案 0 :(得分:0)
<强> JNIforNET 强>
我会使用jni4net库: https://github.com/jni4net
我从未使用它,但是从wiki看起来它自动创建代理到/从java到/从C#允许你从java调用dll。它建立在JNI之上,基本上为您编写C / C ++。
希望这有帮助。