WebBrowser 中不显示 java小程序 Applet

网页中有一个 java小程序 (Applet)
用ie 或者 世界之窗 可以正常使用 这个页面 内容完整
使用 WebBrowser 打开以后就 WebBrowser java小程序的位置就会显示为 一个灰色的 矩形【本来是有内容的】
打开页面过程中 会提示错误 *****为空或不是对象 

解决方法 增加环境变量JAVA_PLUGIN_WEBCONTROL_ENABLE = TRUE
说明:可以调用API实现

Environment.SetEnvironmentVariable(StrName, strValue, EnvironmentVariableTarget.Machine);

错误提示依然存在  但是能用了

网上也有说JAVA_PLUGIN_WEBCONTROL_ENABLE=1即可解决!

转自:http://blog.163.com/xiaobingking@126/blog/static/322371372011016134892/

C# 实现环境变量(采用 Environment 类)

  private void  setEnvi(String StrName, String strValue)
        {
            Environment.SetEnvironmentVariable(StrName, strValue, EnvironmentVariableTarget.Machine);
        }

        private void setPathWithVariable(String strVariable)
        {
            String strHome = "%" + strVariable + "%";
            setPathAfter(strHome);
        }
        private void setPathAfter(String strHome)//此时不会刷新path,需重启后刷新
        {
            String pathList = Environment.GetEnvironmentVariable("PATH");
            //检测是否以;结尾       
            if (pathList.Substring(pathList.Length - 1, 1) != ";")
            {
                Environment.SetEnvironmentVariable("PATH", pathList + ";");
                pathList += ";";
            }
            string[] list = pathList.Split(';');
            bool isPathExist = false;

            foreach (string item in list)
            {
                if (item == strHome)
                    isPathExist = true;
            }
            if (!isPathExist)
            {
                Environment.SetEnvironmentVariable("PATH", pathList + strHome + ";", EnvironmentVariableTarget.Machine);
            }
        }

============ 更改注册表===========================

注意,采用此方式修改的环境变量其实是修改了注册表里的变量值,修改之后,系统环境变量并没有更新,因此需要重启计算机,不推荐使用

http://www.cnblogs.com/ITBread/archive/2012/04/15/2450367.html

    class SysEnvironment
    {    
        /// <summary>  
        /// 
        /// 获取系统环境变量  
        /// 
        /// </summary>   
        /// 
        /// <param name="name"></param>   
        /// 
        /// <returns></returns>    
        /// 
        public static string GetSysEnvironmentByName(string name)    
        {        
            string result = string.Empty;       
            try      
            {         
                result = OpenSysEnvironment().GetValue(name).ToString();
                //读取       
            }        
            catch (Exception)      
            {            
                return string.Empty;  
            }        
            return result; 
        }    
        /// <summary>    
        /// 打开系统环境变量注册表    
        /// </summary>    
        /// <returns>RegistryKey</returns>    
        private static RegistryKey OpenSysEnvironment() 
        {        
            RegistryKey regLocalMachine = Registry.LocalMachine;     
            RegistryKey regSYSTEM = regLocalMachine.OpenSubKey("SYSTEM", true);
            //打开HKEY_LOCAL_MACHINE下的SYSTEM         
            RegistryKey regControlSet001 = regSYSTEM.OpenSubKey("ControlSet001", true);
            //打开ControlSet001         
            RegistryKey regControl = regControlSet001.OpenSubKey("Control", true);
            //打开Control         
            RegistryKey regManager = regControl.OpenSubKey("Session Manager", true);
            //打开Control         
            RegistryKey regEnvironment = regManager.OpenSubKey("Environment", true);       
            return regEnvironment;   
        }   
        
        /// <summary>   
        /// /// 设置系统环境变量  
        /// /// </summary>    
        /// / <param name="name">变量名</param>    
        /// <param name="strValue">值</param>  
        public static void SetSysEnvironment(string name, string strValue)    
        {      
            OpenSysEnvironment().SetValue(name, strValue);   
        }    
        
        /// <summary>  
        /// /// 检测系统环境变量是否存在  
        /// /// </summary>    
        /// <param name="name">
        /// </param> 
        /// /// <returns></returns>    
        public bool CheckSysEnvironmentExist(string name)   
        {        
            if (!string.IsNullOrEmpty(GetSysEnvironmentByName(name)))     
                return true;        
            else            
                return false; 
        }  
        /// <summary>    
        /// 添加到PATH环境变量(会检测路径是否存在,存在就不重复)   
        /// /// </summary>    /// <param name="strPath"></param>  
        public static void SetPathAfter(string strHome)   
        {       
            string pathlist ;    
            pathlist = GetSysEnvironmentByName("PATH");   

            //检测是否以;结尾       
            if (pathlist.Substring(pathlist.Length - 1, 1) != ";")  
            {            
                SetSysEnvironment("PATH", pathlist + ";");      
                pathlist = GetSysEnvironmentByName("PATH");      
            }        
            string[] list = pathlist.Split(';');   
            bool isPathExist = false;      

            foreach (string item in list)    
            {          
                if (item == strHome)    
                isPathExist = true; 
            }        
            if (!isPathExist)     
            {           
                SetSysEnvironment("PATH", pathlist +strHome+ ";");  
            }  
        } 
        public static void SetPathBefore(string strHome) 
        {        
            string pathlist;     
            pathlist = GetSysEnvironmentByName("PATH");     
            string[] list = pathlist.Split(';');    
            bool isPathExist = false;     
            foreach (string item in list)     
            { 
                if (item == strHome)         
                    isPathExist = true;    
            }      
            if (!isPathExist)       
            {          
                SetSysEnvironment("PATH", strHome + ";" + pathlist);      
            }   
        }   
        public static void SetPath(string strHome)   
        {    
            string pathlist;      
            pathlist = GetSysEnvironmentByName("PATH");    
            string[] list = pathlist.Split(';');    
            bool isPathExist = false;     
            foreach (string item in list)       
            {          
                if (item == strHome)     
                    isPathExist = true;      
            }       
            if (!isPathExist)     
            {         
                SetSysEnvironment("PATH", pathlist + strHome + ";" );   
            }
        }
    

        Kernel32.DLL内有SetEnvironmentVariable函数用于设置系统环境变量

C#调用要用DllImport,代码封装如下:

class SetSysEnvironmentVariable   
{        
    [DllImport("Kernel32.DLL ", SetLastError = true)]        
    public static extern bool SetEnvironmentVariable(string lpName, string lpValue);  
    public static void SetPath(string pathValue)      
    {            
        string pathlist;          
        pathlist = SysEnvironment.GetSysEnvironmentByName("PATH");   
        string[] list = pathlist.Split(';');  
        bool isPathExist = false;       
        foreach (string item in list)   
        {             
            if (item == pathValue)
                isPathExist = true;         
        }          
        if (!isPathExist) 
        {              
            SetEnvironmentVariable("PATH", pathlist + pathValue+";");    
        }      
    }   
}

转自: http://blog.csdn.net/chenscmail/article/details/8767712
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dragonpeng2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值