ole
我做了一个OLE的日历控件,怎么发布安装后那个窗口没有日历了呢 <BR> <P>我所安装的那台机器没有注册啊,如何注册呢?</P>一个例子
<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",&"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> 你发布的那台机里没有注册这个控件 謝謝 阿輝.
页:
[1]