java双击编译脚本

程序(安装后)功能:

双击java文件即可编译[原理为执行javac]
双击class文件运行[原理为执行java]
右击java或class文件点击“B在此目录下运行cmd”即可在文件的目录下运行cmd

问题排查:

由于修改注册表,所以需要管理员权限。
如果安装后右击菜单未出现编译运行JAVA的选项,请清除.java和.class的默认打开方式即可(清除方法请点此处)。

卸载方式:

方式一:请运行释放文件目录下的uninsdbk.bat文件,然后删除四个BAT文件
方式二:打开安装程序,输入“un”即可

下载

[sdm_download id="1929" fancy="1"]

写入注册表(部分)及卸载函数代码如下:

  1. int cr(char *pa)   
  2. {   
  3.     HKEY hKey = NULL;   
  4.     TCHAR * subKey = _T(".java\\shell\\A编译JAVA\\command");   
  5.     DWORD dwOptions = REG_OPTION_NON_VOLATILE;   
  6.     DWORD dwDisposition;   
  7.     long resulte = RegCreateKeyEx(HKEY_CLASSES_ROOT, subKey, 0, NULL,   
  8.         dwOptions, KEY_WRITE, NULL, &hKey, &dwDisposition);   
  9.     subKey = _T(".class\\shell\\A运行JAVA\\command");   
  10.     resulte = RegCreateKeyEx(HKEY_CLASSES_ROOT, subKey, 0, NULL,   
  11.         dwOptions, KEY_WRITE, NULL, &hKey, &dwDisposition);   
  12.     subKey = _T(".java\\shell\\B在此目录下运行cmd\\command");   
  13.     resulte = RegCreateKeyEx(HKEY_CLASSES_ROOT, subKey, 0, NULL,   
  14.         dwOptions, KEY_WRITE, NULL, &hKey, &dwDisposition);   
  15.     //*****************************************   
  16.     if(RegOpenKeyExA(HKEY_CLASSES_ROOT, Register, 0, KEY_ALL_ACCESS, &hKey2)== ERROR_SUCCESS)   
  17.     {   
  18.         RegSetValueExA(hKey2, "", 0, REG_SZ, (BYTE *)Myapp, strlen(Myapp));   
  19.         RegCloseKey(hKey2);   
  20.         printf(".java成功!\n");   
  21.     }   
  22.     RegCloseKey(hKey2);   
  23.     return 0;   
  24. }   
  25.   
  26. void unins()   
  27. {      
  28.     char path[999]={0};   
  29.     char strSubkey[99]= ".class\\shell\\运行JAVA\\command";   
  30.     HKEY hKey;   
  31.     if( ERROR_SUCCESS == RegOpenKeyEx( HKEY_CLASSES_ROOT, strSubkey, 0, KEY_QUERY_VALUE, &hKey ) )   
  32.     {   
  33.         DWORD dwType= REG_SZ;   
  34.         unsigned long nSize= sizeof(path) - 1;   
  35.         if( ERROR_SUCCESS == RegQueryValueEx( hKey, "", NULL, &dwType, (byte *)path, &nSize ) )   
  36.         {   
  37.             path[strlen(path)-10]='\0';   
  38.             delrootk(".class\\shell\\A运行JAVA\\command");   
  39.             //************************   
  40.             delrootk(".java\\shell\\B在此目录下运行cmd");   
  41.             printf("删除注册表成功!");   
  42.             printf("您的安装路径为:%s",path);   
  43.             delbat(path);   
  44.             printf("删除BAT文件成功!");   
  45.             printf("卸载完成!");   
  46.             return;   
  47.         }   
  48.     }   
  49.     printf("读取注册表错误,可能您没有安装程序。\n");   
  50. }  

完整代码(C语言):

购买以获取完整代码(登录)
 如未特殊声明,文章均为原创。
 本文标题:java双击编译脚本
 本文链接:https://manwish.cn/article/javadbc.html

《java双击编译脚本》有1条留言

留下评论