
不管是windows还是mac想找个好用的看图软件还是比较难,用的都不怎么合手。以前一直用Picasa3,结果现在google早已经不维护这个项目了。
尝试安装acdsee,浏览功能也还ok,但是预览的时候不能跨目录导致图片较多的时候会出现需要来回切换目录的问题。

找来找去发现还是picasa3是最合适的,但是问题是这个东西没有办法修改数据库存储路径。网上大概搜了一下基本都是移动目录通过创建软连接的方式来实现的。
例如下面的两篇文章:
https://www.5ilog.com/cgi-bin/sys/link/view.aspx/6670973.htm
http://www.360doc.com/content/11/0528/00/2781406_120002354.shtml
对于这种方式我并不是很感兴趣,于是在想有没有其他的办法来解决这个问题。把picasa拖进ida发现了下面的东西:
.text:00407356 mov esi, ecx
.text:00407358 xor ebx, ebx
.text:0040735A lea ecx, [esp+14ECh+var_14B0]
.text:0040735E push ebx ; int
.text:0040735F push ecx ; void *
.text:00407360 mov [esp+14F4h+var_14C8], eax
.text:00407364 call _memset
.text:00407369 lea edx, [esp+14F4h+var_14B0]
.text:0040736D add esp, 0Ch
.text:00407371 mov [esp+14ECh+var_14B0], esi
.text:00407375 mov [esp+14ECh+var_14AC], 0FFFFFFFFh
.text:0040737D mov [esp+14ECh+var_1487], bl
.text:00407381 mov [esp+14ECh+var_1486], bl
.text:00407385 mov [esp+14ECh+var_14A0], offset aGooglePicasa2 ; "Google\\Picasa2"
.text:0040738D mov [esp+14ECh+var_149C], offset aSoftwareGoogle ; "SOFTWARE\\Google\\Picasa\\"
.text:00407395 mov [esp+14ECh+var_1498], offset WindowName ; "Picasa2"
.text:0040739D mov [esp+14ECh+var_1490], offset aPreferences ; "Preferences"
.text:004073A5 mov [esp+14ECh+var_148C], offset aApplocaldatapa_0 ; "AppLocalDataPath"
.text:004073AD call sub_97E2A0
.text:004073B2 add esp, 4
.text:004073B5 mov eax, offset aPicasa3i18nDll ; "Picasa3i18n.dll"
.text:004073BA lea edi, [esp+14E8h+var_1458]
.text:004073C1 call sub_408B50
.text:004073C7 mov ecx, edi
.text:004073C9 call sub_980EC0
.text:004073CE mov eax, edi
.text:004073D0 add esp, 4
.text:004073D4 call sub_999D50
.text:004073D9 add esp, 4
.text:004073DC cmp dword_D4A654, ebx
.text:004073E2 jnz short loc_4073E9
.text:004073E4 call sub_9AE380
.text:00407356 mov esi, ecx
.text:00407358 xor ebx, ebx
.text:0040735A lea ecx, [esp+14ECh+var_14B0]
.text:0040735E push ebx ; int
.text:0040735F push ecx ; void *
.text:00407360 mov [esp+14F4h+var_14C8], eax
.text:00407364 call _memset
.text:00407369 lea edx, [esp+14F4h+var_14B0]
.text:0040736D add esp, 0Ch
.text:00407370 push edx
.text:00407371 mov [esp+14ECh+var_14B0], esi
.text:00407375 mov [esp+14ECh+var_14AC], 0FFFFFFFFh
.text:0040737D mov [esp+14ECh+var_1487], bl
.text:00407381 mov [esp+14ECh+var_1486], bl
.text:00407385 mov [esp+14ECh+var_14A0], offset aGooglePicasa2 ; "Google\\Picasa2"
.text:0040738D mov [esp+14ECh+var_149C], offset aSoftwareGoogle ; "SOFTWARE\\Google\\Picasa\\"
.text:00407395 mov [esp+14ECh+var_1498], offset WindowName ; "Picasa2"
.text:0040739D mov [esp+14ECh+var_1490], offset aPreferences ; "Preferences"
.text:004073A5 mov [esp+14ECh+var_148C], offset aApplocaldatapa_0 ; "AppLocalDataPath"
.text:004073AD call sub_97E2A0
.text:004073B2 add esp, 4
.text:004073B5 mov eax, offset aPicasa3i18nDll ; "Picasa3i18n.dll"
.text:004073BA lea edi, [esp+14E8h+var_1458]
.text:004073C1 call sub_408B50
.text:004073C6 push ebx
.text:004073C7 mov ecx, edi
.text:004073C9 call sub_980EC0
.text:004073CE mov eax, edi
.text:004073D0 add esp, 4
.text:004073D3 push eax
.text:004073D4 call sub_999D50
.text:004073D9 add esp, 4
.text:004073DC cmp dword_D4A654, ebx
.text:004073E2 jnz short loc_4073E9
.text:004073E4 call sub_9AE380
.text:00407356 mov esi, ecx
.text:00407358 xor ebx, ebx
.text:0040735A lea ecx, [esp+14ECh+var_14B0]
.text:0040735E push ebx ; int
.text:0040735F push ecx ; void *
.text:00407360 mov [esp+14F4h+var_14C8], eax
.text:00407364 call _memset
.text:00407369 lea edx, [esp+14F4h+var_14B0]
.text:0040736D add esp, 0Ch
.text:00407370 push edx
.text:00407371 mov [esp+14ECh+var_14B0], esi
.text:00407375 mov [esp+14ECh+var_14AC], 0FFFFFFFFh
.text:0040737D mov [esp+14ECh+var_1487], bl
.text:00407381 mov [esp+14ECh+var_1486], bl
.text:00407385 mov [esp+14ECh+var_14A0], offset aGooglePicasa2 ; "Google\\Picasa2"
.text:0040738D mov [esp+14ECh+var_149C], offset aSoftwareGoogle ; "SOFTWARE\\Google\\Picasa\\"
.text:00407395 mov [esp+14ECh+var_1498], offset WindowName ; "Picasa2"
.text:0040739D mov [esp+14ECh+var_1490], offset aPreferences ; "Preferences"
.text:004073A5 mov [esp+14ECh+var_148C], offset aApplocaldatapa_0 ; "AppLocalDataPath"
.text:004073AD call sub_97E2A0
.text:004073B2 add esp, 4
.text:004073B5 mov eax, offset aPicasa3i18nDll ; "Picasa3i18n.dll"
.text:004073BA lea edi, [esp+14E8h+var_1458]
.text:004073C1 call sub_408B50
.text:004073C6 push ebx
.text:004073C7 mov ecx, edi
.text:004073C9 call sub_980EC0
.text:004073CE mov eax, edi
.text:004073D0 add esp, 4
.text:004073D3 push eax
.text:004073D4 call sub_999D50
.text:004073D9 add esp, 4
.text:004073DC cmp dword_D4A654, ebx
.text:004073E2 jnz short loc_4073E9
.text:004073E4 call sub_9AE380
是和注册表相关的内容,那也就是说可以通过修改注册表的方式来改变这个配置。
这个键值是当前用户的配置, 路径如下:计算机\HKEY_CURRENT_USER\Software\Google\Picasa\Picasa2\Preferences
在这个目录下新建键值AppLocalDataPath 并且设置为自己想要配置的路径:

然后创建对应的目录,并且在目录下创建Google文件夹,然后将原来的文件从个人目录下C:\Users\obaby\AppData\Local\Google 拷贝到新创建的Google目录下即可:

那个7z是压缩文件,不需要创建或者复制该文件,一切配置完成后重启picasa3 如果没有出现问题就可以将用户目录下对应的文件删除了。
如果不知道怎么创建键值可以将下面的代码保存为picasa.reg 然后双击运行导入注册表即可,将下面代码的文件夹路径修改为自己的文件夹路径。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Google\Picasa\Picasa2\Preferences]
"AppLocalDataPath"="F:\\Picasa3Data\\"
obaby
爱好广泛的火星小妖精,有问题欢迎留言交流啊~(✪ω✪)
爬虫类工具请先点击这个链接查看用法https://oba.by/?p=12240
闺蜜圈APP下载 https://guimiquan.cn