windows live writer Snipped Image Plugin on X64 system

本文涉及的产品
视频直播,500GB 1个月
简介:

最近有一些排错记录,想把过程更新上来,原来虽然使用live writer 写日志,但是截图都是用的其他工具,感觉不是太方便,而最近又发现了一个叫snipped image 的插件(写了很久了),可以用win7及后续版本中带的SnippingTool来截图。项目地址在这里,用编译好的dll安装后,一直提示剪贴板中没有内容。不过还好有源代码提供,看了下源码发现它的原理就是调用snippingtool,然后等待该程序结束,然后从剪贴板中找是否有图片,如果有就插入到live writer的博客内容中,没有就报错。

但是代码没有什么错误啊?

捕获

后来我加了两行代码,用来test snippingtool.exe 是否存在,结果测试返回false,很纳闷,google 搜索,结果stackoverflow.com 有个文章和我的问题有点像,我搜索sysnative目录的解释,因为x64位上找不到这个目录?这是什么鬼?

捕获

https://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx 给出了解释,当32位应用程序访问%windir%\system32目录时,X64系统上会被重定向到%windir%\SysWOW64目录,如果希望访问%windir%\system32而不被重定向,需要访问%windir%\sysnative。我们知道live writer的plugin 在X64系统上也是以32位dll编译的(按64位进行编译后,无法加载插件)

让我们验证下:

捕获

好的,到现在问题解决,简单修改下代码,以让插件适合x64以及X86系统。

 

https://github.com/yoke88/LiveWriterSnippingPluginSource



本文转自 yoke88 51CTO博客,原文链接:http://blog.51cto.com/yoke88/1683371

相关文章
|
安全 虚拟化 Windows
Windows x64内核下注入DLL姿势之一
讲述了Windows x64内核下注入DLL的思路与流程
|
存储 安全 前端开发
USB Image Tool:Windows下的直接写盘利器 【开源硬件佳软介绍 #2】
这个问题,我们从磁盘结构讲起。磁盘内部所有的存储区域,必然分为分区表和数据区域两大块。而数据区域按分区表分区后,每个分区还被文件系统封装和管理[注B]:
2274 1
USB Image Tool:Windows下的直接写盘利器 【开源硬件佳软介绍 #2】
|
7月前
|
存储 安全 Apache
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
456 2
|
8月前
|
网络协议 Windows
windows 80端口占用 system pid=4
windows 80端口占用 system pid=4
70 0
|
8月前
|
SQL Windows
Windows 下80端口被进程 System & PID=4 占用的解决方法
Windows 下80端口被进程 System & PID=4 占用的解决方法
339 0
|
Windows
Windows 11 蓝屏 Stop code - SYSTEM SERVICE EXCEPTION What failed - igdkmd64.sys
Windows 11 蓝屏 Stop code - SYSTEM SERVICE EXCEPTION What failed - igdkmd64.sys
264 0
|
C++ Windows
C++ 调用windows系统DOS命令的函数 system(char* command)
C++ 调用windows系统DOS命令的函数 system(char* command)
177 0
|
开发工具 Android开发 C++
windows 8.1 x64位 adb 缺少api-ms-win-crt-private-l1-1-0.dll
windows 8.1 x64位 adb 缺少api-ms-win-crt-private-l1-1-0.dll
206 0
windows 8.1 x64位 adb 缺少api-ms-win-crt-private-l1-1-0.dll
|
API C++ Windows
【Live555】Live555 Windows下使用VS2017编译教程
【Live555】Live555 Windows下使用VS2017编译教程
【Live555】Live555 Windows下使用VS2017编译教程
|
Windows
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)