/* 如果缓冲区是"c:\app\bin\java",则把"c:\app"放入buf。*/ jboolean GetApplicationHome(char *buf, jint sz) { char *cp; GetModuleFileName(0, buf, sz); *strrchr(buf, '\') = '{CONTENT}'; if ((cp = strrchr(buf, '\')) == 0) { // 如果应用程序放在驱动器的根目录下,且不存在bin目录 // 会出现这种情形 buf[0] = '{CONTENT}'; return JNI_FALSE; } return JNI_TRUE; } 首先,就象大多数Windows程序一样,启动器需要一个WinMain()入口。与Windows这一特定平台相关的问题,除了必要的类型转换(例如对CreateJavaVM()的转换)之外,另外一个要注意的地方就是装入VM的DLL文件。装入DLL文件最可靠的办法是显式地调用LoadLibrary()。装入JVM之后,就可以利用内核调用GetProcAddress()获得CreateJavaVM()的函数指针,然后调用该指针启动VM。 |
正在阅读:打造个性化Java启动器打造个性化Java启动器
2004-04-05 10:08
出处:中国计算机报
责任编辑:sdq
键盘也能翻页,试试“← →”键