我写了一个小java程序,我想在windows启动时执行它。我写了一个批处理文件在操作系统启动时运行,但我意识到它不起作用,因为 Windows 7 在操作系统启动时停止运行任何批处理文件。
为了解决这个问题,我想编写 ac 程序,用 cygwin 编译它(以便它的 .exe),并在操作系统启动时运行它。我希望它执行命令:
java -jar ipsetup.jar
我无法让它工作,所以我试图让 c 程序执行“ls”命令。这是代码:
int main(int argc, char ** argv){
//argv[0] = "java";
//argv[1] = "-jar";
//argv[2] = "c:/windows/ipstartup.jar";
execv("/bin/ls", "/bin/ls");
printf("%s",strerror(errno));
return 1;
}
我不断收到错误“地址错误”或“文件或目录不存在”。有谁知道为什么?
谢谢
**编辑
所以我可以让程序在 cygwin 中正确运行(它执行我的 java 文件)。但是当我在 Windows 中运行它时,它只输出打印语句。原来是说缺少cygwin1.dll,所以我把它放到了windows目录下。这是我的源代码:
#include <errno.h>
#include <stdio.h>
int main(int argc, char ** argv){
//argv[0] = "java";
//argv[1] = "-jar";
//argv[2] = "c:/windows/ipstartup.jar";
system("java -jar c:/windows/ipstartup.jar");
printf("I am here");
return 1;
}