cqhq2008 发表于 2005-9-27 15:10:41

ole

我做了一个OLE的日历控件,怎么发布安装后那个窗口没有日历了呢 <BR>

cqhq2008 发表于 2005-9-28 09:43:38

<P>我所安装的那台机器没有注册啊,如何注册呢?</P>

阿辉 发表于 2005-9-28 14:23:10

一个例子

<PRE><FONT face=宋体 size=1>PB中动态注册ocx控件
本程序实现以下功能:1、自动注册WndShow.ocx,Mschrt20.ocx,mscomctl.ocx控件注意:</FONT></PRE><PRE><FONT face=宋体 size=1>请在程序运行前将WndShow.ocx,Mschrt20.ocx,mscomctl.ocx控件拷贝到运行目录下的source文件夹下string ls_winpath //windows路径</FONT></PRE><PRE><FONT face=宋体 size=1>string ls_wndshow //wndshow.ocx文件路径</FONT></PRE><PRE><FONT face=宋体 size=1>string ls_Mschar20 //MsChrt20.ocx文件路径</FONT></PRE><PRE><FONT face=宋体 size=1>string ls_MscomCtl //MsconCtl.ocx文件路径
//获取系统路径</FONT></PRE><PRE><FONT face=宋体 size=1>RegistryGet("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion",&amp;"SystemRoot", RegString!,ls_winpath)</FONT></PRE><PRE><FONT face=宋体 size=1>//设置系统中ocx文件路径</FONT></PRE><PRE><FONT face=宋体 size=1>ls_wndshow = ls_winpath + "\system\WndShow.ocx"</FONT></PRE><PRE><FONT face=宋体 size=1>ls_Mschar20 = ls_winpath + "\system\Mschrt20.ocx"</FONT></PRE><PRE><FONT face=宋体 size=1>ls_MscomCtl = ls_winpath + "\system\mscomctl.ocx"</FONT></PRE><PRE><FONT face=宋体 size=1>//如果文件Wndshow.ocx不存在</FONT></PRE><PRE><FONT face=宋体 size=1>if NOT FileExists(ls_wndshow)
then  </FONT></PRE><PRE><FONT face=宋体 size=1>//拷贝文件到系统中  </FONT></PRE><PRE><FONT face=宋体 size=1>CopyFileA("source\WndShow.ocx",ls_wndshow,true)</FONT></PRE><PRE><FONT face=宋体 size=1>end if</FONT></PRE><PRE><FONT face=宋体 size=1>//注册ocx文件</FONT></PRE><PRE><FONT face=宋体 size=1>run("regsvr32.exe /s WndShow.ocx")</FONT></PRE><PRE><FONT face=宋体 size=1>//如果文件Mschrt20.ocx不存在</FONT></PRE><PRE><FONT face=宋体 size=1>if NOT FileExists(ls_Mschar20) then  </FONT></PRE><PRE><FONT face=宋体 size=1>//拷贝文件到系统中  </FONT></PRE><PRE><FONT face=宋体 size=1>CopyFileA("source\Mschrt20.ocx",ls_wndshow,true)</FONT></PRE><PRE><FONT face=宋体 size=1>end if</FONT></PRE><PRE><FONT face=宋体 size=1>//注册ocx文件run("regsvr32.exe /s Mschrt20.ocx")</FONT></PRE><PRE><FONT face=宋体 size=1>//如果文件mscomctl.ocx不存在if NOT FileExists(ls_MscomCtl) then  </FONT></PRE><PRE><FONT face=宋体 size=1>//拷贝文件到系统中  </FONT></PRE><PRE><FONT face=宋体 size=1>CopyFileA("source\mscomctl.ocx",ls_wndshow,true)</FONT></PRE><PRE><FONT face=宋体 size=1>end if</FONT></PRE><PRE><FONT face=宋体 size=1>//注册ocx文件run("regsvr32.exe /s mscomctl.ocx") </FONT></PRE><PRE><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD><FONT face=宋体 size=1>6、CopyFileA()<BR>功能:复制文件。源文件和目标文件的名称参数都采用引用方式。如果flag参数设置为true,那么复制文件时不<BR><BR>覆盖已有的文件;如果flag参数设置为False,那么复制文件时覆盖已有的文件。<BR>声明格式:Function boolean CopyFileA(ref string cfrom,ref string cto,boolean flag) Library <BR><BR>"Kernel32.dll"<BR><BR>示例<BR><BR>    string l_from,l_to<BR>    boolean l_flag,rtn<BR>    l_flag =false<BR>    l_from = c:\windown\aaa.bmp   //指定源文件<BR>    l_to = d:\bbb.bmp             //指定目标文件<BR>    rtn = CopyFileA(l_from,l_to,l_flag)//指定<BR>    messagebox("提示",string(rtn))<BR><BR>7、CreatDirectoryA()<BR>功能:创建目录。第一个参数指明要创建的目录,第二个参数在Windows NT中使用,在Windows 95、Windows <BR><BR>98 中忽略该参数。<BR>声明格式:Function boolean CreateDirectoryA(ref string pathname,int sa)Library "Kernel32.dll"<BR><BR>示例<BR>    boolean rtm<BR>    string l_dir<BR>    l_dir = "c:\aaa"      //指定目录路径和名称<BR>    rtn = CreateDirectoryA(l_dir,0)   //创建<BR>    if rtn then<BR>       messagebox("成功创建新的目录","目录为 c:\aaa")<BR>    else<BR>       messagebox("创建","失败")<BR>    end if<BR><BR>8、DeleteFileA()<BR>功能:删除文件。<BR>声明格式:Function boolean DeleteFileA(ref string filename)Library "Kernel32.dll"<BR><BR>示例<BR>    string l_file<BR>    boolean rtn<BR>    l_file = "c:\aaa.bmp"    //要删除的文件名<BR>    rtn = DeleteFileA(l_file)<BR></FONT></TD></TR></TABLE></PRE>
<P><FONT face=宋体 size=1>string ls_winpath <BR>string ls_wndshow //wndshow.ocx文件路径</FONT></P>
<P><FONT face=宋体 size=1>//获取系统路径<BR>RegistryGet("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion","SystemRoot", RegString!,ls_winpath)<BR>//设置系统中ocx文件路径<BR>ls_wndshow = ls_winpath + "\system\WndShow.ocx"</FONT></P>
<P><FONT face=宋体 size=1>//如果文件Wndshow.ocx不存在<BR>if NOT FileExists(ls_wndshow) then  <BR>//拷贝文件到系统中  <BR>CopyFileA("source\WndShow.ocx",ls_wndshow,true)<BR>end if<BR>//注册ocx文件<BR>run("regsvr32.exe /s WndShow.ocx")</FONT></P>

阿辉 发表于 2005-9-27 16:58:17

你发布的那台机里没有注册这个控件

EngleW 发表于 2007-5-15 15:09:19

謝謝 阿輝.
页: [1]
查看完整版本: ole

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com