zoukankan      html  css  js  c++  java
  • C#编写啤酒保鲜监控系统之SkinPPDotNet.dll的使用

    Skin++ For DotNet是一个强大的换肤组件,只需一句话就可将整个界面整体换肤!而且还能设置颜色!

     在C#中如何使用:

    Skin++是一款通用的软件换肤套件,目前支持各种版本操作系统,Windows9xWindows2000WindowsXPWindows2003。支持各种开发语 言,Visual C++Visual C++.NetVisual Basic 6 Visual Basic.NetC#PowerBuilderDelphiC++Builder、易语言等。Skin++ 目前已经拥有数量众多的用户,并且有很多的国内外大公司客户。无论其换肤的效果还是程序本身的稳定 性,都堪称一流。要做出漂亮风格的界面,使用Skin++变得非常简单,只要一行代码,就能让你的程序彻底换肤,并拥有动态换肤的功能。

           Skin++ For DotNet目前全面支持Visual C#.net 2002Visual C#.net 2003Visual C#.net 2005Visual VB.net 2002Visual VB.net 2003Visual VB.net 2005Visual VC.net 2002Visual VC.net 2003Visual VC.net 2005

           使用Skin++之前需要做一个准备工作,注册Skin++控件。

           由于Skin++ For DotNet是以COM的形式存在的,所以在你的机器第一次使用之前应该先注册该DLL文件。注册命令:RegSvr32.exe  Skin++存在的路径\SkinPPDotNet.dll

     具体使用请参见 http://archive.cnblogs.com/a/819560/

    在自己电脑上面测试成功!但是在别人电脑上面测试,有的可以运行,有的却只是一闪而过,当然.NET框架肯定已经安装好了,控件也已经注册了,究竟什么原因呢,原来很多电脑上面缺少两个系统必备的文件,也是VC7.0的运行库文件,估计SkinPPDotNet.dll使用VC7.0编写的,需要VC7.0运行库支持吧!那好,从网上下载到msvcr71.dll和msvcp71.dll这两个DLL,放到system32下面,运行!OK !成功!

    但是如果这个操作如果给用户操作的话那就有点不大好了,怎么办呢?

    我是这样处理的,在 program.cs文件中main函数中添加如下代码:

    //加载DLL文件到系统文件夹
    mycs.copyFile(Application.StartupPath + @"\msvcp71.dll", Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\msvcp71.dll");
    mycs.copyFile(Application.StartupPath + @"\msvcr71.dll", Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\msvcr71.dll");
    mycs.copyFile(Application.StartupPath + @"\SkinPPDotNet.dll", Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\SkinPPDotNet.dll");

    mycs是一个类的实例化对象,里面封装了复制文件的操作,代码如下:

    View Code
    /// <summary>
            
    /// 复制文件
            
    /// </summary>
            
    /// <param name="sourcePath">源文件</param>
            
    /// <param name="targetPath">目标文件</param>

            
    public void copyFile(string sourcePath, string targetPath)
            {
                
    try
                {
                    
    string targetFolder = targetPath.Substring(0, targetPath.LastIndexOf(@"\"));
                    
    if (!Directory.Exists(targetFolder))
                    {
                        Directory.CreateDirectory(targetFolder);
                    }
                    
    if (!File.Exists(targetPath))
                    {
                        File.Copy(sourcePath, targetPath, 
    true);
                    }
                }
                
    catch { }
            }
  • 相关阅读:
    android:重写返回键动画
    获得今天零点时间戳(转)
    【转】完美解决Android 9.0以上HTTP网络请求被限制问题
    Java的三种取整方法
    thymeleaf控制checkbox的选中状态回显
    thymeleaf控制checkbox的value值
    Supervisor 简单使用
    关于Requests代理,你必须知道的
    py-spy 常见问题及使用说明
    记一次Scrapy进程卡死的Debug过程
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/1965652.html
Copyright © 2011-2022 走看看