1.pbd文件,用什么软件打开?
2.详解两种C#自动实现DLL(OCX)控件注册的方法
pbd文件,用什么软件打开?
pbd文件,可以用power builder软件打开。
.pbd文件可以理解成类似于DLL的文件;只是DLL是机器码,PBD是一种伪代码。
.pbd文件由EASEUS待办事项列表备份。 这些文件包含用户已备份到外部硬盘驱动器的所有文件。 这些.pbd文件指的是在要重新格式化计算机以保存原始文件的副本以及由于损坏而导致的复制中创建的重复文件。
文件扩展名也用作Adobe PhotoDeluxe文件。 使用PhotoDeluxe编辑软件以这种文件类型创建的.pbd文件是一种文件,并且可以包含图像,图形等。
扩展资料:
Power Builder的特点:
1、可视化和多功能的开发工具
对Windows或Windows NT提供的控件,和功能的完全支持。 PowerScript语言提供了数百种内部功能,并且具有面向对象的编译器和调试器,可以通过完整的联机帮助和编程示例随时编译新代码。
2、强大的查询、报告和图形功能
PowerBuilder提供的可视化查询构建器和多个表的快速选择器可以构建查询对象,并将查询结果用作各种报告的数据源。 PowerBuilder主要适用于管理信息系统的开发,尤其是客户机/服务器体系结构。
3、企业数据库的连通性
PowerBuilder的主要功能是DataWindow(数据窗口)。通过DataWindow,可以轻松地对数据库执行各种操作并处理各种报告,而无需编写SQL语句。可以直接连接大型数据库,例如Sybase,SQLServer,Informix和Oracle。
详解两种C#自动实现DLL(OCX)控件注册的方法
本文将为大家讲述DLL库自动注册的两种方法 包括调用Regsvr 方法等 希望通过本文能对大家有所帮助
尽管MS为我们提供了丰富的 NET Framework库 我们的程序C#开发带来了极大的便利 但是有时候 一些特定功能的控件库还是需要由第三方提供或是自己编写 当需要用到Dll引用的时候 我们通常会通过 添加引用 的方式将它们纳入到项目中 然后就可以像使用自己的类一样方便的使用它们了 但是 有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的 本文介绍两种为Dll库(OCX)自动注册的方法 为大家提供参考
首先 大家都知道在Windows的 运行 中 输入 Regsvr exe 路径 这样的方法来手动注册Dll控件(OCX) 显示这种方法对于程序的自动化部署等带来极大的不便 因此 今天我们着重介绍如何用C#实现自动注册
方法一 调用Regsvr 法
既然可以在运行栏中输入 Regsvr exe 路径 的方法来注册 那么 一定可以在C#程序中用同样的方法来调用Regsvr 以实现注册
Process p = new Process();
p StartInfo FileName = Regsvr exe ;
p StartInfo Arguments = /s C:\\DllTest dll ;
//路径中不能有空格? p Start(); 用这种方法 注意要添加对命名空间System Diagnostics的引用
using System Diagnostics; 另外 这种方法有一个不足之处 那就是注册工作是在本程序之外由Regsvr exe程序来完成的 系统内不方便知道注册的结果 也不方便对注册过程弹出的对话框进行自定义和控制 这里附Regsvr 的参数说明 (感谢网友伍华聪的提醒)
regsvr exe是 位系统下使用的DLL注册和反注册工具 使用它必须通过命令行的方式使用 格式是
regsvr [/u] [/s] [/n] [/i[:cmdline]] DLL文件名
命令可以在 开始→运行 的文本框中 也可以事先在bat批处理文档中编写好命令 未带任何参数是注册DLL文件功能 其它参数对应功能如下
/u 反注册DLL文件;
/s 安静模式(Silent)执行命令 即在成功注册/反注册DLL文件前提下不显示结果提示框
/c 控制端口;
/i 在使用/u反注册时调用DllInstall;
/n 不调用DllRegisterServer 必须与/i连用
方法二 调用DllRegisterServer函数法
既然方法一不大实用 那么我们就来寻找一种真正实用的方法来达到我们的目的吧 研究Regsvr exe和Dll文件 我们会发现 其实每个需要注册的文件都包括一个DllRegisterServer()方法 Regsvr exe就是通过调用该方法来完成Dll的注册的 呵呵 知道了这个 我们就可以自己调用DllRegisterServer()来完成注册过程啦
首先 还得引入外部方法
[DllImport( DllTest dll )]? public static extern int DllRegisterServer();//注册时用? [DllImport( DllTest dll )]? public static extern int DllUnregisterServer();//取消注册时用 接下来就不难啦
int i = DllRegisterServer();? if (i >= )
{
//注册成功!
}
else
{
//注册失败} 取消注册的过程就不应再贴代码啦
两种方法介绍完啦 可是好像还缺点什么?对了 那就是对Dll是否已经注册过了的判断 一般情况下 我们可以将对Dll控件的注册过程放在系统启动的过程中来完成 但是 总不能每次启动都注册一次吧?这样做显然不合理 那么 我们就来判断一下 当前Dll是否已经注册过 如果已注册过 就跳过注册过程
每一个Dll的注册都会在注册表里记录下有关它本身的资料 如注册路径 唯一ID等 我们这里就是利用它留下的唯一ID号来判断
RegistryKey rkTest = Registry ClassesRoot OpenSubKey( CLSID\\{ F A DE BA A F FB BD CA B}\\ );
if (rkTest == null){
//Dll没有注册 在这里调用DllRegisterServer()吧} 注意要添加对命名空间Microsoft Win 的引用
using Microsoft Win ;
lishixinzhi/Article/program/net/201311/12168