⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcjq027.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:

C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
 
  
  
    
      
        
          
            首页   
              | 控件天堂 | 控件使用                   
              | 编程技巧                    
              |  源代码 |  编程工具 |        
               系统补丁 |  电子书籍 | 技术论坛                    
              |  相关链接                 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                           
                 
       if (ad==1) {document.write(''+'');}               
       if (ad==2) {document.write(''+'');}               
       if (ad==3) {document.write(''+'');}               
                              
                           
                        
                                    
                        
                      
                    
                  
                  
                    
                      
                        
                          
                       
                     
var marqueecontents=''+scroll_text+''           
if (document.all)           
document.write(''+marqueecontents+'')           
function regenerate(){           
window.location.reload()           
}           
function regenerate2(){           
if (document.layers){           
setTimeout("window.onresize=regenerate",450)           
intializemarquee()           
}           
}           
function intializemarquee(){           
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)           
document.cmarquee01.document.cmarquee02.document.close()           
thelength=document.cmarquee01.document.cmarquee02.document.height           
scrollit()           
}           
function scrollit(){           
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){           
document.cmarquee01.document.cmarquee02.top-=speed           
setTimeout("scrollit()",100)           
}           
else{           
document.cmarquee01.document.cmarquee02.top=marqueeheight           
scrollit()           
}           
}           
window.onload=regenerate2           
                       
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           
                             
                               
                  当前位置
    
    
                    编程技巧            
                            
                          
                        
                        
                        
                          
                            
                              
                     
      C++Builder中注册表的操作         
                           
                     
                       
                         
                           
                          在WIN9x和WINNT中,许多高级一点的功能都要通过对注册表的操作来实现,在WinAPI中有RegCgreateKey()、RegOpenKey()、RegQueryValue()等等函数,但是,如果用这些函数来实现那将是非常的麻烦,幸亏我们有C++Builder,它提供了TRegistry类,有了TRegistry类,对注册表的操作就非常的简单了,下面我就以一个实例来说明TRegistry类的用法。
 
            
 
            首先,先介绍一下TRegistry的属性和方法:
 
            
 
            TRegistry类一共有四个属性。
 
            
 
            属性 类型 描述
  
            CurrentKey int   
            包含当前键值的值,但它的意思不太好懂,所以不太常用
  
            RootKey int 当前键值的根键,BCB定义有枚举常量:HKEY_CURRENT_USER、HKEY_CLASSES_ROOT、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA、HKEY_USERS。分别对应注册表中相应的主键。生成一个TRegistry类的实例时RootKye缺省值为HKEY_CURRENT_USER
  
            CurrentPath AnsiString 当前键值的文本描述,\HKEY_CURRENT_USER\Software\Borland的CurrentPath="Software\Borland",而RootKey=HKEY_CURRENT_USER
  
            LazyWrite bool 值为true:只要关闭一个键,就立即返回应用程序。值为false:必须写完注册表后才返回。其缺省值为true。
  
            
  
            TRegistry类的方法比较多,择其常用的简要说明如下:
  
            
  
            方法 描述
  
            CloseKey()   
            关闭一个键值并向键值写数据,只要对键值操作完毕后就应该关闭它,不过你可以不必调用此方法,因为TRegistry的析构函数会自动调用它。
  
            DeleteKey(AnsiString)   
            删除键值,参数为要删除的键值,如果参数为空字符串,则删除当前键值
  
            OpenKey(Ansistring,bool)   
            打开一个键值,如果这个键值不存在,将由第二个参数决定是否自动建立。
  
            LoadKey(AnsiString,AnsiString)   
            从文件装入键值,第一个参数为键值,第二个参数为文件名
  
            KeyExists(AnsiString) 检测一个键值是否存在。
  
            SaveKey(AnsiString,AnsiString)   
            把一个键值保存到文件,参数说明参见LoadKey()
  
            ReadInteger(AnsiString)   
            读出一个键值为整数,如果失败将抛出异常。同此函数类似的还有ReadBool()、ReadString()、ReadFloat()、ReadDateTome()、ReadBinaryData()等,用来读出不同类型的键值。
  
            ValueExists(AnsiString) 检测一个值是否存在。
  
            WriteInteger(AnsiString,int)   
            写一个键值为整数,如果失败将抛出异常。同此函数类似的还有WriteBool()、WriteString()、WriteFloat()、WriteDateTome()、WriteBinaryData()等,用来写入不同类型的键值。
  
            
  
            利用TRegistry是很容易的,一般来说,有以下四步操作:
  
            
  
            1) 建立TRegistry类。2)利用OpenKey()方法打开一个键值。3)用ReadType()和WriteType()读写键值。4)调用CloseKey()关闭一个键值。
  
            
  
            值得注意的是:在使用TRegistry类时,必须要加入此类的头文件:#include<Rgistry.hpp>,否则会发生什么,只要稍有C语言基础都会明白。
  
            
  
            好了,说了那么多,也该举一个实例来说明,下面我就以我的《WinNT自动登录》来说明TRegistry类的用法。
  
            
  
            WinNT的用户都知道,WinNT在启动时需要按Ctrl +Alt+ Del登录,即便没有密码也是如此.虽然WinNT不会象   
            WIN9X那样经常死机,但每次开机都要这样还是有点烦.能   
            不能让WinNT每次启动自动登录呢?其实只要把注册表的一   
            个属性AutoAdminLogon的值设置为"1"即可,可惜的是这   
            样做只能管一次,每次启动后WinNT就会自动把它的值改为   
            "0"(该死的Bill!).如果每次都要修改注册表,还不如每次手动登录呢!写个程序在启动后自动修改这个值就OK了。
  
            
  
            首先新建一个工程,在窗体放入4个文本框,分别命名为:edUser、edPasswd、edRePasswd、edDomain。分别用来输入用户名、登录口令、重输口令和域,把edPasswd和edRePasswd的PasswordChar属性改为"*"(密码方式输入)。再加入2个复选框来选择是否自动登录(chkAuto)和自动运行(chkAutorun),一个定时器(Timer1),2个按纽(bbtOK、bbtCancel)和一些Label,调整布局如下图:
  
            
  
            
  
            
  
            打开代码窗口,在头部输入以下代码:
  
            
  
            #include<Registry.hpp>
  
            TRegistry &regkey=* new TRegistry();//定义全局变量:注册表类。
  
            int delay=0;//定义全局变量,延时时间
  
            
  
            然后选择窗体的OnCreat事件,输入以下代码:
  
            
  
            regkey.RootKey=HKEY_LOCAL_MACHINE;//设置根键
  
            //打开自动登录所在的键
  
            regkey.OpenKey("SOFTWARE\\Microsoft\\Windows   
            NT\\CurrentVersion\\Winlogon",true);
  
            //以下3句打开Windows自动运行的键值。
  
            TRegistry &AutoRun=* new TRegistry();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -