amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 4180|回复: 69

WIN7下Protel99SE添加库文件的新解决方案,献给还在坚守99的人们

  [复制链接]
发表于 2015-9-28 11:41:57 | 显示全部楼层 |阅读模式
本帖最后由 dwj0 于 2015-9-28 12:04 编辑

由于这个版块看的最多了, 就发这个版块了, 如果发错版块, 请版主移位...

首先感谢 wdluo, 使我可以上google网站, 从而找到这个方法.
最后感谢研究出这个方法的朋友

今天用谷歌搜索了一下关键词 "File not recognized", 发现一个国外网站的帖子: http://www.diyaudio.com/forums/p ... -protel-99-a-3.html
其中提到了win7下发生错误的原因和解决方法:
The library dialog tries to concatenate the filename and path of the selected library file to obtain a full path to the library file that you want to add. But, a call to the windows function SHGetPathFromIDListA corrupts the memory where the filename is stored (it puts a zero where the string starts, which, in the null-terminated string world, means that the string is now suddenly empty). The dialog gets confused and doesn't succeed in opening the file.
The call to SHGetPathFromIDListA does not do anything noteworthy, so I replaced all instructions related to that call with NOP instructions. This solved the problem.
So: get yourself a hex editor (I use "HxD", it's free) and edit the "Client99SE.exe" file. Change all bytes from offset 2690E to 26917 (= a total of 10 bytes that need to be changed) to 90.
A NOP instruction is 90 in hexadecimal, hence the change.
用谷歌翻译后的意思是:
该库对话框试图来连接所选库文件的文件名和路径,以获得一个完整路径,您要添加的库文件。但是,调用Windows函数SHGetPathFromIDListA破坏那里的文件名存储在内存中(它把一个零点所在的字符串开始,其中,在空值终止字符串的世界,意味着该字符串是现在突然空)。该对话框会很困惑,并在打开文件不会成功。
以SHGetPathFromIDListA调用不会做任何事情值得一提,所以我换成涉及与NOP指令调用的所有指令。这解决了这个问题。
所以:让自己的十六进制编辑器(我用“HXD”,它是免费的),并编辑了“Client99SE.exe”文件。改变从偏移2690E所有字节到26917(=共10个字节,其需要改变)到90。
NOP指令是十六进制的90,因此改变。

以上是解决PCB中的添加库, 原理图添加库是在下一楼中提到的:
Patch offset 0x25f78 to 0x25f81 inclusive with 0x90 (original bytes were: 50 8b 45 ec 50 e8 7e c1 fd ff ) in Client99SE.exe

我修改后, 实际测试, 发现问题依旧, 于是继续看帖子的后面部分, 终于在帖子的34楼找到方法:
Hi, except applying the patch with values 90 in 2 places as mentioned earlier, there is another step which also must be done in order to be able to load libraries. This is related to default mechanism used in Vista and Win7 that "well known" extensions of files are not shown in the folder. Please note that in Protel you see only the name of library when trying to add it and not full file name with extension, for example it is shown Liteon but must be shown Liteon.ddb in order to correctly load it.

OK, how to solve it........
Option 1:
Update registry for 2 types of extensions *.lib and *.ddb by adding the string AlwaysShowExt for 2 Keys coresponding to them. Save text below to protel.reg file and load it to registry by double click on it.

Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.ddb]
@="ProtelDesignFile"

[HKEY_CLASSES_ROOT\.lib]
@="ProtelLibraryFile"

[HKEY_CLASSES_ROOT\ProtelDesignFile]
"AlwaysShowExt"=""

[HKEY_CLASSES_ROOT\ProtelLibraryFile]
"AlwaysShowExt"=""
意思是系统默认是不显示扩展名的, 要将扩展名显示出来才行. 或者将上面一段代码导入注册表可解决这个问题.

经过以上更改, Protel99SE 添加PCB库和SCH库正常

上传修改过的 Client99SE.exe和注册表文件:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2015-9-28 11:42:34 | 显示全部楼层
如果有用, 请留下你的脚印, 谢谢
发表于 2015-9-28 11:47:14 | 显示全部楼层
谢谢,又提供了一个新方法。
发表于 2015-9-28 11:48:49 | 显示全部楼层
99se用来看看图还可以,画pcb还是用AD吧,版本也不用太高,AD6.9就可以,熟练之后效率会提高很多。
发表于 2015-9-28 11:58:05 | 显示全部楼层
多谢了。回去试试看
 楼主| 发表于 2015-9-28 12:04:48 | 显示全部楼层
ibichao 发表于 2015-9-28 11:48
99se用来看看图还可以,画pcb还是用AD吧,版本也不用太高,AD6.9就可以,熟练之后效率会提高很多。 ...

只献给还在坚守99的人们, 推荐高版本的请忽略
发表于 2015-9-28 12:20:52 | 显示全部楼层
楼主,你这个方法在WIN10上可以用吗?毕竟现在是奔十的时代了先赞一个
发表于 2015-9-28 12:22:28 | 显示全部楼层
没用,覆盖.exe文件后提示缺少一个东西。
 楼主| 发表于 2015-9-28 12:35:31 | 显示全部楼层
PCBBOY1991 发表于 2015-9-28 12:22
没用,覆盖.exe文件后提示缺少一个东西。

缺少东西可能是我的版本汉化问题, 你直接在你的文件上修改
 楼主| 发表于 2015-9-28 12:36:40 | 显示全部楼层
ilikemcu 发表于 2015-9-28 12:20
楼主,你这个方法在WIN10上可以用吗?毕竟现在是奔十的时代了先赞一个 ...

只测试了win7, 32位, 其它的系统请自己测试
而且修改后还能不能用于XP, 也没有测试
发表于 2015-9-28 13:40:49 | 显示全部楼层
还真的可以啊,感谢楼主
发表于 2015-9-28 14:31:37 | 显示全部楼层
dwj0 发表于 2015-9-28 12:35
缺少东西可能是我的版本汉化问题, 你直接在你的文件上修改

是不是直接双击.reg文件就可以修改注册表啊?我双击了。
我又把99se卸载了然后重装了注册表要不要再修改一次?还是不需要?
发表于 2015-9-28 16:00:58 | 显示全部楼层
老破机还在 插屁 中, ,,,上  瘟7   无兴趣啊,,,,
发表于 2015-9-28 16:10:14 | 显示全部楼层
我一直用这个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2015-9-28 16:54:40 | 显示全部楼层
一直使用protel99
发表于 2015-9-28 17:11:55 | 显示全部楼层
绿色汉化版不行,重新安装后SCH可以添加库,打开PCB出现format %x invalid or incompatible with argument,下载protel.99.se.sp6-patch解决,谢谢共享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2015-9-28 17:30:19 | 显示全部楼层
多谢分享!老枪使惯了也很顺溜,最主要是任务不复杂,懒得换。
发表于 2015-9-28 17:48:50 | 显示全部楼层
win7 64下库完美运行。谢谢了。
有个问题,placementtools工具栏在重新运行后又在老的位置,调整不了.
发表于 2015-9-29 10:57:13 | 显示全部楼层
powermeter 发表于 2015-9-28 17:48
win7 64下库完美运行。谢谢了。
有个问题,placementtools工具栏在重新运行后又在老的位置,调整不了. ...

我这有这个问题,工具栏在重新运行后总是自己改会默认位置
发表于 2015-9-29 11:25:21 | 显示全部楼层
262619890 发表于 2015-9-29 10:57
我这有这个问题,工具栏在重新运行后总是自己改会默认位置

晚上回去99se卸载后,将windows下99se配置文件全删除掉,再安装试试看
发表于 2015-9-29 12:07:48 | 显示全部楼层
牛人牛人牛人牛人牛人
发表于 2015-9-29 14:12:57 | 显示全部楼层
powermeter 发表于 2015-9-29 11:25
晚上回去99se卸载后,将windows下99se配置文件全删除掉,再安装试试看

那些配置文件?
发表于 2015-9-29 14:14:56 | 显示全部楼层
c:\windows目录下有99se配置文件
发表于 2015-9-29 14:25:53 | 显示全部楼层
win7没用过,win8.1 一直添加的好好的,没报什么错的说
发表于 2015-9-29 14:37:45 | 显示全部楼层
原来还是有办法可以在win7上用99
发表于 2015-9-29 18:41:22 来自手机 | 显示全部楼层
哪个版本的99se
发表于 2015-9-29 18:42:00 来自手机 | 显示全部楼层
哪个版本的好用?
发表于 2015-9-29 18:50:07 | 显示全部楼层
多谢了。回去试试看
发表于 2015-9-29 19:43:27 | 显示全部楼层
262619890 发表于 2015-9-29 10:57
我这有这个问题,工具栏在重新运行后总是自己改会默认位置

解决办法:
1、卸载99se
2、将windows目录下99se配置文件删除
3、在安装99se。

发表于 2015-9-29 20:10:39 | 显示全部楼层
再过些年,比这个软件年纪还小的娃都要工作了。
发表于 2015-9-29 20:22:09 | 显示全部楼层
谢谢分享
发表于 2015-9-30 05:46:25 来自手机 | 显示全部楼层
好吧,我承认我也是懒人,不愿学习新知识,还在用99
发表于 2015-9-30 06:30:54 | 显示全部楼层
这个要顶
发表于 2015-9-30 06:40:08 | 显示全部楼层

请教:高速光耦隔离有什么缺点吗?


这个软件好像有个问题,就是库似乎有全局性,在一个DDB文件中添加/删除库文件之后,别的DDB文件中也会被改动。
发表于 2015-9-30 07:30:30 | 显示全部楼层
学习,谢谢!!!
发表于 2015-9-30 07:50:23 来自手机 | 显示全部楼层
等下试试效果,如果可行的话就太好了
发表于 2015-9-30 08:28:22 来自手机 | 显示全部楼层
AD2015用了一年了
发表于 2015-9-30 08:52:50 | 显示全部楼层
路过友情帮顶。
发表于 2015-9-30 09:13:25 | 显示全部楼层
换完了,目前为止完美运行
发表于 2015-10-1 08:05:16 | 显示全部楼层
非常好,在win7@64位系统下正常使用,再也不用virtual pc了。
发表于 2015-10-1 09:32:10 | 显示全部楼层
试下这个方法
发表于 2015-10-3 10:53:34 | 显示全部楼层
谢谢,学习!!!
发表于 2015-10-3 18:58:36 | 显示全部楼层
在慢慢转到AD上,99还是有点Old!
发表于 2015-10-5 00:41:42 来自手机 | 显示全部楼层
学习中  不过我还是觉得ad好用
发表于 2015-10-5 10:05:17 | 显示全部楼层
支持下,
发表于 2015-10-5 16:29:15 | 显示全部楼层
WIN7 64位能用!!谢谢!!
发表于 2015-10-5 21:03:39 来自手机 | 显示全部楼层
金**的汉化的99se可以在win7加载库吗?
发表于 2015-10-6 10:14:47 | 显示全部楼层
我电脑是win10操作系统,能否上传一个99se版本的上来吗?
发表于 2015-10-6 10:29:58 | 显示全部楼层
安装了,可以导入了,还没有实际画板子了
发表于 2015-10-6 10:42:42 | 显示全部楼层
试试看行不     
发表于 2015-10-6 14:16:42 来自手机 | 显示全部楼层
99的确很经典,画100个元器件以下的pcb毫无压力
发表于 2015-10-6 16:02:21 | 显示全部楼层
这个确实非常好,苦于没发使用99,所以现在都没装WIN8
发表于 2015-10-7 12:35:12 | 显示全部楼层
太好了,我也懒,一直用99se,
不愿意改的原因是,99se部分诀窍在AD中一直没有找到,我用99se画过6层板9千500个零件的板子,AD太消耗系统资源,这样一个板子用AD打开很费时间,运行DRC比99还慢。
发表于 2015-10-7 12:38:33 | 显示全部楼层
在画高速板的时候,99se彻底的落后了,比如画简单USB的差分线,几乎是不可能的,其他的等长线就更不可能。
发表于 2015-10-7 14:46:26 | 显示全部楼层
还是升级一下吧,SE99也太落后了
发表于 2015-10-9 11:25:27 | 显示全部楼层
试了下  确实是可以的。多谢楼主分享
发表于 2015-10-9 12:22:46 | 显示全部楼层
这个真心有用啊
发表于 2015-11-5 22:51:19 | 显示全部楼层
果然好用,非常感谢!
发表于 2015-12-28 14:36:14 | 显示全部楼层
果然好用,谢谢。  刚换了SSD+WIN7 32确实存在问题。   protel 用了15年,不想换了。  本来XP都不想换,可是要装SSD,没办法。
发表于 2015-12-28 17:48:54 来自手机 | 显示全部楼层
不收藏不行啊
发表于 2015-12-29 20:05:35 | 显示全部楼层
楼主你好,使用你给的文件,导库没什么问题了,不过,比较奇怪的问题,就是:使用3D时,不停刷,并且卡死,不知道有没解决方法?或者你们有没遇到过
发表于 2016-1-5 15:45:56 | 显示全部楼层
试了在win7 64位可用。
发表于 2016-1-5 15:46:57 | 显示全部楼层
做的很不错,已经可以像在XP上用99一样了。就是看到汉化很不爽,能不要汉化吗?
发表于 2016-1-5 18:20:02 | 显示全部楼层
一直还在用99,谢谢楼主,试试.
发表于 2016-1-15 20:56:12 | 显示全部楼层
刚刚测试,楼主的文件,可以完美运行在WIN10-32bit下,只是第一次运行,会提示有问题,不运行,选择仍要运行,即可,下次再开启,就不会出现这个画面了,运行时,直接可以像XP一样添加器件库。

谢谢楼主
发表于 2017-10-16 13:35:50 | 显示全部楼层
楼主厉害,完美解决win10 64bit+99SE问题
之前谷歌百度上所有方法都试了PCB库就是有问题,现在好了,多谢!
发表于 2017-10-25 08:05:02 | 显示全部楼层
没过几天又不行了,于是谷歌搜“format '%X' invalid or incompatible with argumePCB”

找到了以下内容,试用一阵没异常
https://bbs.pediy.com/thread-149241.htm
发表于 2019-9-22 01:15:49 | 显示全部楼层
谢谢,又提供了一个新方法。
发表于 2019-9-23 17:26:18 | 显示全部楼层
以后可能需要用,先mark.
发表于 2019-9-23 21:04:37 来自手机 | 显示全部楼层
标记一下
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-10-19 01:40

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表