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

📄 bcjq078.txt

📁 c++ builder 的一些txt文档
💻 TXT
字号:

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            
                        
                          
                        
                      
                    
                  
                  
                    
                      
                        
                          
                            
                              
                                
                  当前位置
     
     
                    编程技巧             
                             
                           
                         
                         
                         
                           
                             
                               
                    用BCB在windows桌面创建快捷方式         
                           
                     
                       
                         
                           
                          API提供了一个叫做IShellLink的COM接口允许我们创建快捷方式。为在桌面创建快捷方式,我们创建一个IShellLink对象,设置它的属性,然后把这个link保存到desktop目录。
      
      下面的例子代码演示了怎样创建一个快捷方式。在这个例子里,这个快捷方式保存在C:\Drive目录下。
      
      //----------------------------------------------------------------------
      include <shlobj.h>
   
      
   
      void __fastcall TForm1::Button1Click(TObject *Sender)
   
      {
   
       if(OpenDialog1->Execute())
   
          
      CreateShortCut(OpenDialog1->FileName);
   
      }
   
      //----------------------------------------------------------------------
   
      void TForm1::CreateShortCut(const AnsiString &file)
   
      {
   
       IShellLink* pLink;
   
       IPersistFile* pPersistFile;
   
       if(SUCCEEDED(CoInitialize(NULL)))
   
       {
   
          
      if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
   
          
      CLSCTX_INPROC_SERVER,
   
          
      IID_IShellLink, (void **) &pLink)))
   
       {
   
          
      pLink->SetPath(file.c_str());
   
          
      pLink->SetDescription("Woo hoo, look at Homer's shortcut");
   
          
      pLink->SetShowCmd(SW_SHOW);
   
          
      if(SUCCEEDED(pLink->QueryInterface(IID_IPersistFile,
   
          
      (void **)&pPersistFile)))
   
       {
   
          
      WideString strShortCutLocation("C:\\bcbshortcut.lnk");
   
          
      pPersistFile->Save(strShortCutLocation.c_bstr(), TRUE);
   
          
      pPersistFile->Release();
   
       }
   
          
      pLink->Release();
   
       }
   
      
   
       CoUninitialize();
   
       }
   
      }
   
      //----------------------------------------------------------------------
   
      上面的例子只是把快捷方式文件保存到了c:\drive目录下,但没保存到desktop目录下。
   
      
   
      要让快捷方式出现在桌面上,只须把快捷方式文件保存到desktop目录下。首先我们要找到windows的desktop目录,请参阅判断windows的Desktop及相关目录这一节。一旦我们知道了desktop所在的目录,我们就能将快捷方式文件保存到desktop目录下。然后windows就能将快捷方式图标显示到桌面上。下面是经过改进了的例子:
   
      
   
      //----------------------------------------------------------------------
   
      void TForm1::CreateShortCut(const AnsiString &file)
   
      {
   
       IShellLink* pLink;
   
       IPersistFile* pPersistFile;
   
       LPMALLOC ShellMalloc;
   
       LPITEMIDLIST DesktopPidl;
   
       char DesktopDir[MAX_PATH];
   
       if(FAILED(SHGetMalloc(&ShellMalloc)))
   
       return;
   
       if(FAILED(SHGetSpecialFolderLocation(NULL,
   
          
      CSIDL_DESKTOPDIRECTORY,
   
          
      &DesktopPidl)))
   
       return;
   
       if(!SHGetPathFromIDList(DesktopPidl, DesktopDir))
   
       {
   
          
      ShellMalloc->Free(DesktopPidl);
   
       ShellMalloc->Release();
   
       return;
   
       }
   
       ShellMalloc->Free(DesktopPidl);
   
       ShellMalloc->Release();
   
       if(SUCCEEDED(CoInitialize(NULL)))
   
       {
   
          
      if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL,
   
          
      CLSCTX_INPROC_SERVER,
   
          
      IID_IShellLink, (void **) &pLink)))
   
       {
   
          
      pLink->SetPath(file.c_str());
   
          
      pLink->SetDescription("Woo hoo, look at Homer's shortcut");
   
          
      pLink->SetShowCmd(SW_SHOW);
   
      
   
          
      if(SUCCEEDED(pLink->QueryInterface(IID_IPersistFile,
   
          
      (void **)&pPersistFile)))
   
       {
   
          
      WideString strShortCutLocation(DesktopDir);
   
          
      strShortCutLocation += "\\bcbshortcut.lnk";
   
          
      pPersistFile->Save(strShortCutLocation.c_bstr(), TRUE);
   
          
      pPersistFile->Release();
   
       }
   
          
      pLink->Release();
   
       }
   
       CoUninitialize();
   
       }
   
      }
   
      //----------------------------------------------------------------------
   
      不要让你陷入到COM的复杂之中。COM只是创建和使用对象的一种方法。在这个例子里我们可以考虑不使用COM而是用等价的C++技术。
   
      
   
      COM code    
      C++ psuedo-equivalent
   
      IShellLink* pLink;    
      TShellLink *Link;
   
      IPersistFile* pPersistFile;   
      TPersistFile *PersistFile;
   
      
   
      CoInitialize();
   
          
      
   
      CoCreateInstance(CLSID_ShellLink,    
      Link = new TShellLink;
   
         
          
      NULL,
   
         
          
      CLSCTX_INPROC_SERVER,
   
         
          
      IID_IShellLink,
   
         
       (void **) &pLink)
   
      pLink->SetPath(file.c_str());
  
      Link->SetPath(file.c_str());
  
      pLink->SetShowCmd(SW_SHOW);
  
      Link->SetShowCmd(SW_SHOW);
  
      pLink->QueryInterface(IID_IPersistFile PersistFile =
   
          
      (void **)&pPersistFile)))    
      dynamic_cast<TPersistFile*>(Link);
   
      
   
      pPersistFile->Save("C:\\", TRUE);
  
      PersistFile->Save("C:\\");
  
      pPersistFile->Release();
  
      delete PersistFile
   
      pLink->Release();
  
      delete Link;
   
      CoUninitialize();      
                              
                            
                                
                        
                              
                                
                              
                  if (ad==1) {document.write(''+'');}              
                  if (ad==2) {document.write(''+'');}              
                  if (ad==3) {document.write(''+'');}              
                                                
                              
                            
                          
                        
                   
                    
                      
                        
                      
                      
                          
                      
                    
                       
                     
                   
                 
               
               
                 
                   
                     
                       
            C++ Builder开发者®            
              2000年06月01日 站长:唐朝            
                      
                    
                  
                
                
                  
                
              
              
            
            
            
            

⌨️ 快捷键说明

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