精华内容
下载资源
问答
  • 左键点击控件(text、label、command)在右侧点左键就会加载相同控件。右击产生的控件,就会卸载控件
  • delphi如何安装控件 卸载控件

    千次阅读 2008-12-15 11:31:00
    Delphi第三方控件安装卸载指南 几点说明: 1 在拿到组件后先看是否有说明文件,一般来说在说明文件中有如何安装的指导,有些还会 有组件的属性、事件、方法的使用说明,这些在使用时是非常重要的。 2 在上面的...

     Delphi第三方控件安装卸载指南  
       
      几点说明:    
       
      1   在拿到组件后先看是否有说明文件,一般来说在说明文件中有如何安装的指导,有些还会  
      有组件的属性、事件、方法的使用说明,这些在使用时是非常重要的。    
       
      2     在上面的组件(包)安装操作之前,最好将   *.bpl拷贝到你的System目录中,将   *.pas、  
      *.dcu、*.dcr、*.dp?拷贝到Delphi的Lib目录中再进行。    
       
      3     前面我们提到安装DCU组件时,选用的是已经存在的dclusr40.dpk,当然也可以选择安装  
      到一个新的包中,如果选择新包,需要先取一个名字比如DEMO,事实上安装完毕后用户可以  
      找到的是Demo.bpl,而找不到DEMO.DPK。假如你已经将一个组件安装到dclusr40.dpk中了,  
      还想再安装一个组件,如果再安装到dclusr40.dpk中,安装后你得到提示,原来安装的那个  
      组件已经被取消注册,你将无法使用了。这样不就成了只能安装一个组件了吗?除非你再安  
      装到一个新的包中才可以两个组件同时使用。当然每安装一个组件生成一个新的BPL文件也  
      未偿不可,但BPL文件就增加许多。能否在dclusr40.dpk中多安装几个组件呢?当然是可以  
      的。方法如下:用File菜单下的OPEN打开dclusr40.dpk文件,单击ADD按钮,在打开的对话  
      框中选择ADD   UNIT页面,按Unit   file   name后的“Browse”按钮打开组件单元文件,OK即可,  
      用此种方法这样可添加多个组件的单元文件,添加完毕,按一下编译按钮,然后再按  
      Install按钮即可,如果单元文件是编译好的(DCU)可以直接按安装按钮。    
       
      4       组件的删除。光会安装可不行,还要会删除呀。很简单,在component菜单下,选择  
      install   packages,在列表中找到安装所在的Bpl,按Remove按钮,ok!再把Bpl文件删掉  
      就彻底了,如果不删除BPL文件,下次可以按安装BPL组件的方法再安装使用.    

    安装控件
    Delphi 2006 高级控件应用


    来源:电脑报

        Borland Developer Studio 2006 已于 2005 年 12 月 5 日正式发布了。 Delphi 2006 是 Borland Developer Studio 2006 产品中的一部分,我们不仅能继续开发基于 Win32 平台的应用程序,还可以使用 Delphi 语言编写 .NET 平台的应用程序,使得 Delphi 程序员可以轻松的将 Win32 平台的应用程序移植到 .NET 平台中。
        本文将带领读者去体验一下 Delphi 2006 中高级控件的应用。看完本文后,你会发现,使用 Delphi 2006 将会使你更加高效、快速地开发应用程序。
      一、 Delphi 2006 中控件的安装
        以前的大多数第三方控件仍然可以在 Delphi 2006 中使用。只是在安装方式上有一些差别。
        1 . DPK 控件包的安装方法:
        有一些第三方控件提供给我们的是 DPK 文件,在 Delphi7 中,我们直接双击就可以进行安装。但是在 Delphi 2006 中,步骤有一点不同。我们以 FlatStyle 控件的安装为例,讲解一下 DPK 控件包的方法:
        第一步:启动 Delphi for Microsoft Win32 ,点击“ File ”菜单下的“ Open Project ”,选择要安装的 DPK 文件 FlatStyle_D7.dpk ,点击“打开”按钮。
        第二步:在右边的“ Project Manager ”中,鼠标右击控件名称 FlatStyle_D7.bpl ,在弹出的菜单中点击“Install”。 Delphi 2006 将对控件进行编译并安装。

    安装控件


        2 .单个 PAS 文件的安装:
        有一些第三方控件只有一个 PAS 文件,没有提供安装包,在 Delphi 7 中,可以单独对 PAS 文件进行安装,但是在 Delphi 2006 里,已经取消了这个功能。那么在 Delphi 2006 中如何安装单个的 PAS 文件呢?方法如下:
        第一步:点击“ File ”-“ New ”菜单中的“ Package – Delphi for Win32 ”,新建一个控件包。
        新建控件包
        第二步:选中右边“ Project Manager ”中“ Contains ”文件夹,点击鼠标右键,在弹出的菜单中选择“ Add ”。
        添加
        第三步:在 Add 对话框中,点击“ Browse ”按钮,选择要安装的 PAS 文件,然后点击“ OK ”按钮。
        选择 PAS 文件
        第四步:鼠标右击“ Project Manager ”中的“ Package1.bpl ”,在弹出的菜单中选择“ Install ”,这时就完在了控件的安装。
        第五步:保存 bpl 文件。
       
        二、属性编辑器控件
        1 . TValueListEditor
        Delphi 2006 提供的 TValueListEditor 控件可以编写一个类似于 Delphi7 的 Object Inspector 。下面我们就来编写一个简单的属性编辑器,如下图所示:
        属性编辑器
        第一步:在窗体上放置一个 ValueListEditor 控件(在 Additional 面板中可能找到该控件)。
        第二步:添加属性名称及属性值。本例中,我们一共有 3 个属性,分别是“ Name ”、“ Color ”和“ Size ”。 ValueListEditor 为我们提供了 InsertRow 方法,使用该方法可以添加属性名称及属性值。代码如下:
        ValueListEditor1.InsertRow('Name', '', True);
        ValueListEditor1.InsertRow('Color', 'clRed', True);
        ValueListEditor1.InsertRow('Size', '9', True);
        是不是非常简单?运行程序,用鼠标点击 Size 中的 9, 效果是否不同呢?编辑器中有一个下拉列表,那么如何实现呢?我们将第三句代码作如下修改:
        Index := ValueListEditor1.InsertRow('Size', '9', True);
        首先获取要修改的行号, InserRow 在插入一行后,会返回当前行的行号。下面再使用 ItemProps 属性修改“行”的属性:
        with ValueListEditor1.ItemProps[Index - 1].PickList do begin
        Add('9');
        Add('11');
        Add('13');
        Add('20');
        end;
        PickList 中就是保存的下接列表中的数据。
        现在再运行程序看看效果,是否一样了呢?
        下面我们再看一个效果:
        带“弹出”效果的编辑器
        图中的 clRed 后有一个“ … ”按钮,在 Delphi 7 中,当这个按钮出现时,我们可以通过点击这个按钮弹出一个窗体,进行相应的属性设置。那么,我们要实现这样的效果也是非常简单的,将“ ValueListEditor1.InsertRow ('Color', 'clRed', True); ”这句代码作如下修改:
        Index := ValueListEditor1.InsertRow('Color', 'clRed', True);
        ValueListEditor1.ItemProps[Index - 1].EditStyle := esEllipsis;
        修改 ItemProps 中的 EditStyle 属性为“ esEllipsis ”即可实现这样的效果。但是,现在这个按钮什么都不能干,需要我们加入执行代码才会发挥其作用。在这个例子中,我们要求点击“ … ”按钮后,弹出颜色对话框,然后将用户选择的颜色值显示在 Color 右边的文本框中。我们可以在 OnEditButtonClick 事件中写入实现代码:
        procedure TForm1.ValueListEditor1EditButtonClick(Sender: TObject);
        var
        nRow: Integer;
        begin
        nRow := ValueListEditor1.Row;
        case nRow of
          2:
          with TColorDialog.Create(nil) do
          begin
            if Execute then
            ValueListEditor1.Cells[2, nRow] := ColorToString(Color);
            end;
        end;
        end;
        当点击“ … ”按钮时,会触发 OnEditButtonClick 事件。在 OnEditButtonClick 事件中,我们首先使用 ValueListEditor1.Row 获取当前“行”的行号,也就是鼠标点击的是哪一行的按钮。知道了行号,我们就可以根据行号来加入相应的代码。在本例中,只有第二行有“ … ”按钮,因此,当 Row 等于 2 时,我们就显示颜色对话框。“ ValueListEditor1.Cells[2, nRow] := ColorToString(Color); ”这一句代码是将用户选择的颜色值显示到文本框中。
        通过上面的讲解,我们知道了属性记录的添加及设置。那么如何获取某个属性的属性值呢?请看下面:
        假如我们要获取 Name 的属性值,我们使用下面的代码即可获得:
        ShowMessage(ValueListEditor1.Cells[2, 1]);
        前面我们通过 Cells 属性设置了文本框中的内容,在这里,我们可以使用 Cells 属性获取指定文本框的内容。 Cells 有 2 个参数,第一个是列,第二个是行。 Name 的属性值是在第 2 列、第一行中的,因为指定 Cells[2,1] ,如果要获取 Size 的属性值,那么就应该是 Cells[2,3] 。
        属性 / 方法说明
        DeleteRow 删除指定行。
        FindRow 查找行。
        ColCount 获取列的个数。
        ItemProps.HasPickList 是否捅有下拉列表。
        Values 根据 Key 获取 Key 所对应的值。
        Keys 获取 Key 的值 RowCount 获取行的个数。

        三、系统控件
        1 . TTrayIcon 在 Delphi 2006 中,新增了一个 TTrayIcon 的控件。该控件是用于在托盘中显示自己软件的图标。使用 TTrayIcon 控件可以很容易的实现“动态图标”及“气泡提示”功能。如下图所示:
        托盘显示
        ( 1 )“气泡提示”的制作
        第一步:在窗体中放置 TrayIcon 控件( Additional 面板中可以找到)。
        第二步:设置 TrayIcon 的 Icon 图标,载入一个 ICO 文件。
        第三步:设置 TrayIcon 的 BalloonHint 为“ Delphi 2006 高级控件应用”,设置 BalloonTitle 为“电脑报 2005 年合订本”。设置 Visible 为 True 。
        第四步:双击窗体,在 OnCreate 事件中写入下面代码: TrayIcon1.ShowBalloonHint;
        好了, F9 运行程序,一个“气泡提示”就会出现在图标上。属性中的 BalloonTimeout 是设置“气泡提示”多少秒后消失,默认是 3 秒。
        ( 2 )动态图标
        我们大家都知道,当有 QQ 消息时,托盘中会有一个闪烁图标,使用 TrayIcon 控件可以非常容易地实现这个功能。
        使图标动起来,其实就是使用多个图标进行切换。 QQ 的闪烁图标,其实就是使用的两个图标来进行切换的,一个是头像图标,一个是空的图标。
        下面我们就来模拟 QQ 头像闪烁功能:
        第一步:在窗体上放置 ImageList 控件(在 Win32 面板中可以找到)。
        第二步:设置 ImageList 控件的 Width 和 Height 属性为 32 ,然后双击 ImageList ,点击“ Add ”按钮添加图标文件。第一个添加的是要显示的图标,第二个添加一个空的图标(可以使用 Image Editor 新建一个 ICO 文件,然后直接保存即可得到一个空的图标。)。
        第三步:设置 TrayIcon 的 Icons 属性为 ImageList1 (可以直接在列表中选择)。
        第四步:在 Form1 的 OnFormShow 事件中加入下面的代码:
        TrayIcon1.Animate := True;
        TrayIcon1.AnimateInterval := 450;
        当 Animate 为 True 时,将自动按 ImageList 控件中图标的顺序进行依次显示,形成动态效果。 AnimateInterval 为每隔多少时间显示下一个图标。如果要停止闪烁,将 Animate 设置为 False 即可。
        怎么样, Delphi2006 提供的 TTrayIcon 控件是不是很酷。

        属性 / 方法说明
        Animate 设置是否使用动态图标。
        AnimateInterval 图标变化的时间。
        BalloonFlags 气泡提示中的图标。
        bfError 为错误图标
        bfInfo 为信息图标
        bfWarning 为警示图标。
        BalloonTimeout 气泡提示消失时间。
        BalloonTitle 气泡提示标题。
        Hint 托盘图标提示。
        当鼠标移动到托盘中的图标时显示。
        Icon 设置托盘图标。
        IconIndex 图标索引。
        Icons 图标集合。一般使用 ImageList 控件包含图标集合。
        Visible 是否在托盘中显示。

        四、界面控件
        1 . XPMenu
        XPMenu 控件可以帮助我们轻松制作 XP 样式的菜单。这是一个第三方控件,其讲解“单个 PAS 文件的安装”中,就是以 XPMenu 为例讲解的。首先我们先使用 TMainMenu 或者 TPopupMenu 制作好菜单,然后在 XP 面板中将 TXPMenu 控件拖动到窗体中,将 XPMenu 的 Active 和 AutoDetect 属性设置为 True 就可以了。如果我们想自己定义菜单的背景色、边框颜色,甚至是字体的大小及颜色,也是很容易的。下表是修改菜单、字体颜色的属性:属性说明 SelectBorderColor 选中菜单时边框颜色 SelectColor 选中菜单时的背景颜色 SelectFontColor 选中菜单时文字的颜色 Separator Color 分隔线的颜色 Font 设置字体、大小、颜色 2 . FlatStyle FlatStyle 是一套平面控件。如果想你的界面与众不同,那么使用 FlatStyle 是最佳选择。 TFlatTitleBar TFlatTitleBar 模拟标题栏控件。效果如下图所示:模拟标题栏控件将 FlatTitlebar 放置到窗体上,然后将 Align 属性设置为 alTop ,由于窗体中有默认的标题栏,因此我们需要将窗体的 BorderStyle 设置为 None 去掉标题栏。 TFlatHint FlatHint 改变了 Windows 的标准提示信息框样式。其效果如下:
    改变效果只要我们为控件设置好了 Hint 属性,并将 ShowHint 设置成 True ,那么将 TFlatHint 控件拖动到窗体上就可以了。由于 TFlatHint 默认使用的字体是英文,显示出来的汉字比较小,只需将 FlatHint 的 Font 属性设置为中文字体即可。五、多媒体控件 1 . TWinAmpComponent 该控件可以帮助我们操控 Winamp 。操控 Winamp 一些常用的 Winamp 方法: WinAmpControl1.Play; 播放音乐 WinAmpControl1.PrevTrack; 前一首音乐 WinAmpControl1.Pause; 暂停播放 WinAmpControl1.Stop; 停止播放 WinAmpControl1.NextTack; 下一首音乐 WinAmpControl1.SetVolume 设置音量 WinAmpControl1.GetSongLength 获取音乐长度 WinAmpControl1.SetRepeat; 设置重复播放 WinAmpControl1.ClearRepeat; 清除重复播放 WinAmpControl1.SetShufle; 设置无序播放 WinAmpControl1.ClearShufle; 清除无序播放 WinAmpControl1.ClearPlayList; 清除播放列表

    WinAmpControl1.AddFile 添加音乐 WinAmpControl1.AddDir 添加目录 2 . Audio Components Suite Audio Components Suite ,一套跨平台的音频处理组件包:支持音频回放、捕捉; CD-ROM 回放、 CDDA 捕捉; Wave 流支持; MP3 、 Ogg 、 FLAC 、 Monkey 等格式支持;音频混响处理;输入设备动态捕捉;音频格式转换;声音音频指示器;其他一些特效。录音例子:第一步:添加 TAudioIn 、 TWaveOut 到窗体上。第二步:设置 AudioIn1 和 WaveOut1 的相关属性: AudioIn1.InSampleRate := 44100; AudioIn1.InBitsPerSample := 16; AudioIn1.InChannels := 2; AudioIn1.RecTime := 30; WaveOut1.FileName := SaveDialog1.FileName; 第三步:开始录音 WaveOut1.Run; 一个简单的录音程序就写好了。如果要停止录音,可以使用 WaveOut1.Stop; 。六、文件操作控件 1 . TEasyFileSearch TEasyFileSearch 一个用来搜索文件的组件,支持子目录搜索,支持通配符 (*.*, *.exe, ...) 过滤。可以按最小文件大小、最大文件大小、文件日期进行搜索。搜索文件搜索例子:首先将 TEasyFileSearch 、 TButton 、 TListView 控件添加到窗体上。然后双击 Button1 控件,输入下面的代码: EasyFileSearch1.RootPath := ‘ C:/ ’ ; EasyFileSearch1 SearchOptions := [okIncludeSubfolder] EasyFileSearch1.FileNames.Clear; EasyFileSearch1.FileNames.Add( ‘ *.* ’ ); EasyFileSearch1.Search; 上面 4 句代码就可以将 C 盘下所有文件都搜索出来。 SearchOptions 设置为 okIncludeSubfolder 表示搜索子目录。如何获取搜索到的文件呢?我们可以使用 OnFileFound 事件。代码如下: procedure TForm1.EasyFileSearch1FileFound(FileFound: TFileInformations); var NewItem : TListItem; Time : String; begin { 添加找到的文件 } NewItem := ListView1.Items.Add; with NewItem do

    begin Caption := FileFound.Name; SubItems.Add(FileFound.Path); Time := IntToStr(FileFound.Time.CreationTime.wDay)+'/'; Time := Time+IntToStr(FileFound.Time.CreationTime.wMonth)+'/'; Time := Time+IntToStr(FileFound.Time.CreationTime.wYear); SubItems.Add(Time); SubItems.Add(IntToStr(FileFound.Size)); end; end; 2 . Disk Controls Disk Controls 能够让使用例如硬盘、软盘、 CD 、内存、网络、外壳及文件系统的相关开发更加简单。组件介绍及使用方法:( 1 ) dcDiskScanner 用于查找文件。示例代码: dcDiskScanner1.Folder := 'C:/'; dcDiskScanner1.SearchMask := '*.bmp'; dcDiskScanner1.IncludeSubfolders := True; // 包含子目录 dcDiskScanner1.Execute; // 执行搜索在 OnFileFound 事件中获取搜索到的文件: procedure TForm1.dcDiskScanner1FileFound(Sender: TObject; const FileName, FileType: string; const FileSize: Extended; const FileTime: TDateTime; const FileAttributes: TdcScanAttributes; const LargeIcon, SmallIcon: TIcon; SysImageIndex, TotalFiles: Integer; const TotalSize: Extended); begin ListBox1.Items.Add(FileName); end; ( 2 ) dcMultiDiskScanner 该控件的作用及使用方法与 dcDiskScanner 类似。 dcMultiDiskScanner 增加了一个过滤文件的属性 ExcludeList ,该列表中包含的文件将不被搜索。( 3 ) dcFileOperations 该控件可以复制、删除、移动、重命名多个文件或者文件夹。示例代码: dcFileOperations1.FileList.Add('c:/test.txt'); dcFileOperations1.DestFolder := 'd:/'; dcFileOperations1.Operation := foCopy; dcFileOperations1.Execute; ( 4 ) dcFolderMonitor 监视文件夹被删除、复制、更名时的动作。示例代码: dcFolderMonitor1.Folder := 'd:/'; dcFolderMonitor1.Filter := [fmFileName]; dcFolderMonitor1.Active := True; 监视 D 盘,当 D 盘中文件的文件名被更改时,触发 OnChange 事件。( 2 ) dcVirtualDrives 创建虚拟磁盘。

    虚拟磁盘示例代码: procedure TForm1.Button1Click(Sender: TObject); begin if dcVirtualDrives1.AddDrive('H', ‘ D:/Music ’ ) then ShowMessage(' 添加成功! '); end; 当我们关闭程序时,应该使用 dcVirtualDrives1.DeleteDrive('H'); 删除虚拟磁盘。( 6 ) dcDiskInfo 获取磁盘信息。指定 Disk 后,即可通过访问 dcDiskInfo 的相关属性获取信息。( 7 ) dcFileInfo 获取文件信息。指定 FileName 后,即可通过访问 dcFileInfo 的相关属性获取信息。( 8 ) dcFileCRC 获取文件的 CRC 值。( 9 ) dcVersionInfo 获取文件的版本信息。主要用于获取 EXE 、 DLL 及 OCX 文件的版本信息。( 10 ) dcShellIcon 获取文件关联的图标。( 11 ) dcShellLink 获取快捷方式所指向的文件。( 12 ) dcShellProperties 显示指定文件、文件夹的属性框及显示右键菜单。( 13 ) dcIcon2Bitmap 可以将图标文件转换为 BMP 图片。 Delphi 的 VCL 为我们开发程序带来了极大的方便。功能强大,丰富多彩的第三方控件更使得我们如虎添翼。

    展开全文
  • delphi7 安装/卸载控件通用方法

    千次阅读 2015-03-03 14:06:25
    delphi7 通用控件安装方法: ---------- 基本安装 1.对于单个控件,COMPONET-->INSTALL COMPONENT..-->PAS或DCU文件-->INSTALL; 2.对于带*.DPK文件的控件包,FILE-->OPEN(下拉列表框中选*.DPK)-->INSTALL即可; 3....

    delphi7 通用控件安装方法:
    ----------
    基本安装
    1.对于单个控件,COMPONET-->INSTALL COMPONENT..-->PAS或DCU文件-->INSTALL;
    2.对于带*.DPK文件的控件包,FILE-->OPEN(下拉列表框中选*.DPK)-->INSTALL即可;
    3.对于带*.BPL文件的控件包,INSTALL PACKAGES-->ADD-->BPL文件名即可;
    4.如果以上INSTALL按钮为失效的话,试试COMPILE按钮;
    5.是RUN TIME LIB则在OPTION下的PACKAGES下的RUNTIMEPACKES加之。
      如果编译时提示文件找不到的话,一般是控件的安装目录不在DELPHI的LIB目录中,
      有两种方法可以解决:
    1.反安装的源文件拷入到DELPHI的LIB目录下;
    2.或者TOOLS-->ENVIRONMENT OPTIONS中把控件源代码路径加入到DELPHI的LIB目录中即可。

    注意:所安装的控件是否与你所用的DELPHI版本相适应。

    控件删除
    1.在COMPONENT/INSTALL PACKAGES中删除。
    2.选COMPONENT/CONFIGURE PALETTE…
    3.有PAGES和COMPONENTS两个区域。
    4.双击COMPONENTS区域,选中要删除得控件,下面有得DELETE按钮。
    5.但系统提供的控件只能HIDE,不能DELETE。
    6.打开控件所在的包文件(*.DPK),从中删除控件那个文件,再重新编译该包即可。
    如果是整个控件包都要删除的话,PROJECT->OPTION->PACKAGES,删掉那个PACKAGES,收工。

    展开全文
  • 现有一控件数组CONTROLSA,在使用过程中,每需要一个控件,就动态的加载一个此控件,使用完后立即卸载控件,当然每个控件的生命周期不一样,有的时间长,有的时间短,需要使用的时间决定此控件的生命周期,因此此...
  •  [HKEY_CLASSES_ROOT/dllfile/shell/卸载]  "Command"="regsvr32 %1 /u"  [HKEY_CLASSES_ROOT/dllfile/shell/卸载/command]  @="regsvr32 %1 /u"  录入完毕,末尾空一行以上空格,或回一下车,另存为“REGDLL....
    第一步:打开记事本程序,录入以下内容:

      Windows Registry Editor Version 5.00  

      [HKEY_CLASSES_ROOT/dllfile/shell]

      [HKEY_CLASSES_ROOT/dllfile/shell/注册]

      [HKEY_CLASSES_ROOT/dllfile/shell/注册/command]

      @="regsvr32 %1"

      [HKEY_CLASSES_ROOT/dllfile/shell/卸载]

      "Command"="regsvr32 %1 /u"

      [HKEY_CLASSES_ROOT/dllfile/shell/卸载/command]

      @="regsvr32 %1 /u"

        录入完毕,末尾空一行以上空格,或回一下车,另存为“REGDLL.REG”,文件名任取,后缀名必须是“REG”。

        第二步:双击“REGDLL.REG”文件,将其导入到注册表中去。

    570)this.width=570;" src="http://it.rising.com.cn/image/016/safety081205.gif" οnlοad="javascript:if(this.width>570)this.width=570;" align=absMiddle border=0>


        好了,现在随便找一个DLL文件试试,在其上点右键,在右键菜单中就会出现“注册/反注册”的选项(如图所示)。这样,我们就可以通过选取相应的选项来注册/反注册选项的DLL文件了,十分的方便!

    展开全文
  • UnReg控件卸载工具

    2009-07-13 14:04:31
    控件卸载工具绿色版,支持ActiveX控件(*.ocx)及动态链接库文件(*.dll)的快速卸载,程序非常小巧,支持鼠标拖拽注册,省得一卸载控件,就要写个批处理卸载……
  • 用delphi7编写的小程序,用于注册/卸载OCX控件,判断OCX控件是否注册等功能
  • 注册卸载OCX控件

    2014-01-12 15:30:43
    个人刚学习编写了一个小程序,用于把OCX注册在计算机上或卸载,提供了源码欢迎学习。
  • 摘要:VC/C++源码,控件相关,注册控件,OCX ... 一般情况下,控件的OCX文件中已包含有DLLRegisterServer和DLLUnregisterServer函数,我们只需调用它们便可实现OCX控件的注册与卸载。 运行环境:Windows/Visual C/C++
  • 你是否为无数次地安装/卸载ActiveX控件而烦恼?你还在用REGSVR32命令来安装/卸载ActiveX控件吗?那就试试强大的AxtiveX Manager!  他能使程序开发者和普通用户管理/安装/卸载机器上的ActiveX控件变的轻而易举,...
  • 怎么样卸载ScriptX控件

    2019-05-26 01:51:51
    NULL 博文链接:https://hikin.iteye.com/blog/518641
  • 内容索引:VC/C++源码,系统相关,OCX VC++ 注册与卸载OCX控件的小工具源程序,VB与Delphi都有不少类似程序,这个是用VC写的,虽然简单,但写出了主要的思路,有参考性。
  • 控件安装和卸载(vc)

    2014-09-19 11:51:29
    vc下安装控件和卸载控件,已经经

             vc下安装控件和卸载控件,已经封装成类。OperateOcx. 和OperateOcx.cpp

    OperateOcx.h 如下

    #pragma once

    // 向IE中安装控件,以便IE发送消息
    class COperateOcx
    {
    public:
     COperateOcx(void);
     ~COperateOcx(void);

     BOOL InstallOcx(CString strOcxPath);//安装一个ocx
     BOOL IsHaveInstall(const char* pPath);
     BOOL UninstallOcx(const char* pPath);//卸载一个ocx
     BOOL SupportsSelfRegister(CString   strOcxPath) ; 
    };


    OperateOcx.cpp 如下

    #include "StdAfx.h"
    #include "OperateOcx.h"

    #ifdef   _WIN32  
    #define   LOADLIBRARY_FAILED(x)   (x   ==   0)  
    #else  
    #define   LOADLIBRARY_FAILED(x)   (x   <=   HINSTANCE_ERROR)  
    #endif  
    #pragma comment(lib,"Version.lib")
    typedef HRESULT(STDAPICALLTYPE *CTLREGPROC)()   ;  

    COperateOcx::COperateOcx(void)
    {
    }

    COperateOcx::~COperateOcx(void)
    {
    }
    /*
    ************************************
    安装一个ocx
    ************************************
    */
    BOOL COperateOcx::InstallOcx(CString strOcxPath)
    {
        char szTm[MAX_PATH] = {0};
        ::GetShortPathName(strOcxPath, szTm, MAX_PATH-1);
        strOcxPath = szTm;
        BOOL   bResult   =   FALSE;
        CString szTemp="regsvr32.exe ";
        //MessageBox(szTemp);
        CString strTemp="/s "+strOcxPath;
        //WinExec(szTemp,SW_HIDE);
        if((int)ShellExecute(NULL,"OPEN",szTemp,strTemp,NULL,SW_HIDE) > 32)
        {
            bResult = TRUE;
        }
        return   bResult;  
    }
    /*
    ************************************
    安装一个ocx
    ************************************
    */
    BOOL COperateOcx::IsHaveInstall(const char* pPath)
    {
        return 0;
    }
    /*
    ************************************
    卸载一个ocx
    ************************************
    */
    BOOL COperateOcx::UninstallOcx(const char* pPath)
    {
        char szTm[MAX_PATH];
        ::GetShortPathName(pPath, szTm, MAX_PATH-1);
        BOOL   bResult   =   FALSE   ;
        CString szTemp="regsvr32.exe " ;
        //MessageBox(szTemp);
        CString strTemp="/u /s "+ CString(szTm);
        //WinExec(szTemp,SW_HIDE);
        ShellExecute(NULL,"OPEN",szTemp,strTemp,NULL,SW_HIDE);
        return FALSE ;
    }
    BOOL   COperateOcx::SupportsSelfRegister(CString   strOcxPath)  
    {  
        BOOL   bResult   =   FALSE;  
        DWORD     handle;  
        UINT     uiInfoSize;  
        UINT     uiVerSize   ;  
        UINT     uiSize   ;  
        BYTE*   pbData   =   NULL   ;  
        DWORD*   lpBuffer;;  
        char   szName[512]   ;  

        //   获得文件大小信息  
        uiInfoSize   =    
            ::GetFileVersionInfoSize(strOcxPath.GetBuffer(0),  
            &handle);  
        if   (uiInfoSize   ==   0)   return   FALSE   ;  

        pbData   =   new   BYTE[uiInfoSize]   ;  

        //     获得文件信息  
        bResult   =    
            ::GetFileVersionInfo(strOcxPath.GetBuffer(0),  
            handle,  
            uiInfoSize,  
            pbData);  
        if   (!bResult)   goto   NastyGoto   ;  

        //   在注册表中查找  
        bResult   =    
            ::VerQueryValue(   pbData,  
            "\\VarFileInfo\\Translation",  
            (void**)&lpBuffer,  
            &uiVerSize);  
        if   (!bResult)   goto   NastyGoto   ;  

        bResult   =   uiVerSize   ;  
        if   (!bResult)   goto   NastyGoto   ;  

        //   Build   the   path   to   the   OLESelfRegister   key  
        //   using   the   translation   information.  
        sprintf(   szName,  
            "\\StringFileInfo\\%04hX%04hX\\OLESelfRegister",  
            LOWORD(*lpBuffer),  
            HIWORD(*lpBuffer))   ;  

        //   Search   for   the   key.  
        bResult   =   ::VerQueryValue(   pbData,    
            szName,    
            (void**)&lpBuffer,    
            &uiSize);  

    NastyGoto:  
        delete   []   pbData   ;  
        return   bResult   ;  
    }  

    展开全文
  • 如何注册及卸载ocx 控件

    千次阅读 2018-11-22 10:38:50
    桌面--》程序--》windows 系统 --》运行“命令提示符"(以管理员方式运行) ... 输入 regsvr32 + ocx控件全路径 eg:...卸载: 输入 regsvr32 /u + ocx控件全路径 eg: regsvr32 /u D:\ocx\test.ocx      ...
  • 怎样卸载activex控件

    千次阅读 2012-04-16 08:53:53
    卸载: regsvr32 -u webconfduo.ocx 开始;-->;运行;-->;cmd; 在弹出的类似于dos的界面输入如下字符串 d:\winnt\system32\regsvr32 d:\aaa.ocx 然后回车.   反注册方法如下 d:\winnt\syste
  • VC++ 注册与卸载OCX控件的小工具 源程序
  • delphi7 卸载ActiveX控件

    千次阅读 2012-03-28 21:45:02
    然后老板告诉我要卸载再按规矩来,但是我在网上找了N久都没有一个可用的方法,隐藏什么的都试了。总是在重新安装的时候报已经有这个名字了。后来终于找到了解决办法,原来这么简单 就是用regsvr32命令反注册一下就...
  • 插件卸载在开发插件的过程中,免不了在数据库创建一些字段乃至表,或者创建了一些定时任务,当插件被删除的时候这些东西就会被留在 WordPress 上,变成垃圾,作为负责的开发者,有必要在删除插件的时候帮助用户删除...
  • vb 动态卸载固态控件

    千次阅读 2011-03-12 19:58:00
    添加2个按钮,点击command2按钮的时候,卸载command1按钮   Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As...
  • Delphi中彻底卸载ActiveX控件的方法

    千次阅读 2011-03-23 17:23:00
    Delphi中彻底卸载ActiveX控件的方法 最近为了做一个项目,尝试了很多皮肤控件,其中一个使用ocx。尝试完后希望能够彻底删除,可是从component->import ActiveX Control中删除后再ActiveX标签中还是能够找到,...
  • 写了个小控制台程序,这个程序用来注册 / 卸载OCX控件,用在Inno Setup做的安装卸载程序里。 #include "stdafx.h" #include <windows.h> #include <iostream> using std::...
  • 金格OFFICE控件卸载

    2015-02-06 15:01:08
    金格OFFICE控件卸载 ACTIVEX
  • 基于ASP.NET的动态添加与卸载用户控件的程序例子源码。
  • 控件卸载

    2011-11-29 16:35:20
    1 查看已经安装的ActiveX控件 1) 通过IE 浏览器“管理加载项”工具查看已经安装的ActiveX控件,详细信息中可以获取控件对应的GUID和文件完整路径,以下列出各IE版本打开“管理加载项”的方法: IE6、7下打开...
  • 卸载浏览器的控件

    千次阅读 2014-12-20 13:07:06
    本文说明的是卸载IE浏览器的加载控件。 很多时候,控件是由浏览器经过用户的允许后,从服务器下载控件的安装文件并安装在客户端电脑的。从这以后,控件就被加载到浏览器的加载项,用户通过浏览器使用控件时,浏览器...
  • 注册OCX控件后,用 regsvr32 /u test.ocx 提示卸载成功,好象注册表中还有相关记录。 右击工具箱 选择工程-->组件属性, 还能看到之前加载的OCX。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,114
精华内容 445
关键字:

卸载控件