jans 发表于 2005-6-1 09:52:00

请问vlx文件怎么制作?

孤独客 发表于 2005-6-1 23:12:00

用文件菜单-->生成应用程序-->新建应用程序向导按提示加入应用程序需用的lsp,fas,prj,dcl文件生成的就是应用程序文件即(VLX       文件)

KSB_daniel 发表于 2005-6-6 20:37:00

LIHAI

he993 发表于 2005-6-6 23:44:00

本帖最后由 作者 于 2005-6-7 20:27:34 编辑

为什么我试了,然后安装了,但在开始菜单栏出现的是程序卸载的快捷方式呢?       为什么不是程序启动的快捷方式呢?能指点一下吗?谢谢!

he993 发表于 2005-6-7 20:26:00

什么时候我业能懂这么多?

秋枫 发表于 2005-6-7 21:57:00

程序的启动不需要自己的快捷方式。你运行AutoCAD就是了。程序在AutoCAD启动时加载(前提是你Setup制作过程中设置正确)


在开始菜单中提供卸载的快捷方式仅仅是方便卸载。你可以选择不建立开始菜单中的快捷方式,可以从控制面板中卸载程序。

he993 发表于 2005-6-9 17:33:00

谢谢!

孤独客 发表于 2005-6-9 22:59:00

秋枫发表于2005-5-30 21:06:00static/image/common/back.gif我系统中没有安装2002,无法详细说明,以2006为例,这个与2002的注册表结构是差不多的。



遍历的Innosetup源代码你可以参考本主题的4楼。





如图所示:...

我试者做了,但整个注册表没有写进去啊



下面是我的源代码,请帮帮忙给看看<BR>procedure AddAutoLoadLisp;


var i, j, k, n: integer;<BR>       StartupToAdd, key, tmp: string;<BR>       SupportedAcadKeys1,SupportedAcadKeys,profiles: TArrayOfString;<BR>       StringList: TStringList;<BR>       ApploadLoadCtrls: Cardinal;<BR>        begin<BR>       StartupToAdd := 'c:\lisp\menu\ks.mns';<BR>       RegGetValueNames(HKCU, 'Software\Autodesk\AuoCAD\',SupportedAcadKeys1)<BR>       // 设置appload的loadctrls<BR>       for i := 0 to GetArrayLength(SupportedAcadKeys) -1 do               //GetArrayLength获取排列长度。<BR>       begin<BR>                       if RegQueryDWordValue(HKLM, SupportedAcadKeys+'\Applications\AcadAppload', 'LOADCTRLS', ApploadLoadCtrls) then       //询问指定的 REG_DWORD-type 注册表键/值,并返回值到 ResultDWord。如果成功返回 True。当返回 False 时,不修改 ResultDWord 值。


                       begin<BR>                                       ApploadLoadCtrls := (ApploadLoadCtrls or 2);<BR>                                       RegWriteDWordValue(HKLM, SupportedAcadKeys+'\Applications\AcadAppload', 'LOADCTRLS', ApploadLoadCtrls);               //写入指定的 REG_DWORD-type 注册表值,如果完成则返回 True,反之返回 False。<BR>                       end;<BR>                       if RegQueryDWordValue(HKCU, SupportedAcadKeys+'\Applications\AcadAppload', 'LOADCTRLS', ApploadLoadCtrls) then       //询问指定的 REG_DWORD-type 注册表键/值,并返回值到 ResultDWord。如果成功返回 True。当返回 //False 时,不修改 ResultDWord 值。


                       begin<BR>                                       ApploadLoadCtrls := (ApploadLoadCtrls or 2);<BR>                                       RegWriteDWordValue(HKCU, SupportedAcadKeys+'\Applications\AcadAppload', 'LOADCTRLS', ApploadLoadCtrls);<BR>                       end;<BR>       end;


       StringList := TStringList.Create;<BR>       try<BR>       for k:=0 to GetArrayLength(SupportedAcadKeys1)-1       do


                                       if       RegGetSubkeyNames(HKCU, SupportedAcadKeys1,SupportedAcadKeys)<BR>                                       then<BR>       for i := 0 to GetArrayLength(SupportedAcadKeys) -1 do<BR>                       if       RegGetSubkeyNames(HKCU, SupportedAcadKeys+'\&lt;&lt;未命名配置&gt;&gt;', profiles) // 并且存在Profiles, 取得所有Profiles<BR>                       then<BR>                                       for j := 0 to GetArrayLength(profiles)-1 do<BR>                                                       if regkeyExists(HKCU, SupportedAcadKeys+'\&lt;&lt;未命名配置&gt;&gt;\'+profiles+'\Dialogs') then<BR>                                                       begin<BR>                                                                       key := SupportedAcadKeys+'\&lt;&lt;未命名配置&gt;&gt;\'+profiles+'\Dialogs\Appload\Startup';<BR>                                                                       if not regkeyExists(HKCU, key) then RegWriteStringValue(HKCU, key, 'NumStartup', '0');<BR>                                                                       RegQueryStringValue(HKCU, key, 'NumStartup', tmp);<BR>                                                                       // 读入已有Startup列表<BR>                                                                       n := StrToIntDef(tmp, 0); //转换字符串到一个数字,<BR>                                                                       StringList.Clear;<BR>                                                                       for k := 1 to n do<BR>                                                                       begin<BR>                                                                               RegQueryStringValue(HKCU, key, IntToStr(k)+'Startup', tmp);<BR>                                                                               StringList.Add(tmp);<BR>                                                                               RegDeleteValue(HKCU, key, IntToStr(k)+'Startup');<BR>                                                                       end;<BR>                                                                       // 去除重复文件与不存在的文件<BR>                                                                       for k := StringList.Count - 1 downto 0 do<BR>                                                                       if (UpperCase(StringList)=UpperCase(startupToAdd)) or (not FileExists(StringList)) //UPPERCASE (s string)返回s中相同文字的字符串但所有字母都转换成大写字母<BR>                                                                                       then StringList.Delete(k);<BR>                                                                       // 添加要加的文件<BR>                                                                       StringList.Add(startupToAdd);<BR>                                                                       // 重建键值<BR>                                                                       for k := 0 to StringList.Count - 1 do<BR>                                                                                               RegWriteStringValue(HKCU, key, IntToStr(k+1)+'Startup', StringList);<BR>                                                                       // 设置总数<BR>                                                                       RegWriteStringValue(HKCU, key, 'NumStartup', IntToStr(StringList.Count));<BR>                                                       end;<BR>       finally<BR>                       StringList.Free;<BR>       end;<BR>       end;<BR>       end.<BR>下面是我机子上的autocad注册表结构图<IMG src="http://www.mjtd.com/c:/snap1.jpg">


<IMG src="c;/snap2.jpg">

孤独客 发表于 2005-6-9 23:14:00

本帖最后由 作者 于 2005-6-10 22:15:02 编辑

<IMG src="file:///c:/snap1.jpg">c:\snap.jpg

glm1105 发表于 2005-6-11 08:53:00

也许这些对我们有一些用处
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: AutoCAD二次开发安装程序制作(2019-11-11)