C# 通过.net中的windows服务调用java类文件

C# 通过.net中的windows服务调用java类文件,c#,windows-services,C#,Windows Services,我已经从C中调用了windows服务来调用java类文件。我使用bat文件在C中调用这个java文件。java类的任务是创建输出文件。但服务输出文件未创建时的状态。当java类从bat文件调用时,它在不使用服务的情况下运行良好。但任务管理器可能会显示命令提示符的实例 是否可以通过windws服务中的bat文件调用java类?我认为问题可能与用户权限有关-windows服务通常在网络服务a/c下运行,该网络服务a/c可能没有在多个位置写入文件的权限。因此,我建议您尝试在每个用户都有写入权限的位置写

我已经从C中调用了windows服务来调用java类文件。我使用bat文件在C中调用这个java文件。java类的任务是创建输出文件。但服务输出文件未创建时的状态。当java类从bat文件调用时,它在不使用服务的情况下运行良好。但任务管理器可能会显示命令提示符的实例


是否可以通过windws服务中的bat文件调用java类?

我认为问题可能与用户权限有关-windows服务通常在网络服务a/c下运行,该网络服务a/c可能没有在多个位置写入文件的权限。因此,我建议您尝试在每个用户都有写入权限的位置写入文件,或者在您想要写入文件的位置修改文件夹权限。

这有点长,但是您可以使用类似iKVM的东西直接从.NET调用Java类


我通过在程序中硬编码bat文件代码解决了这个问题。我还必须指定工作目录:

process1.EnableRaisingEvents = false;
//Process p ;

process1.StartInfo.UseShellExecute = false ;
string str = "my parameters";
process1.StartInfo.WorkingDirectory = @"C:\kesara";
//System.Diagnostics.Process.Start(batfilepath,);
process1.StartInfo.FileName = @"C:/j2sdk1.4.2_08/bin/java.exe";
process1.StartInfo.Arguments = str;
process1.Start();
process1.Close();

谢谢你的想法。但我已经对这些文件夹授予了权限。@Kaumadee,还有一个关于用户配置文件的相关问题是环境变量,例如路径和类路径。我希望您正在bat文件中设置它们。