Windows Live Writer启动错误:无法定位程序输入点IsThreadDesktopComposited 于动态链接库 USER32.dll 上

简介:

今天安装了Windows LIve Writer,运行它,出现错误信息如下:

 image

查看事件探查器:

弹出应用程序: WindowsLiveWriter.exe - 无法找到入口: 无法定位程序输入点 IsThreadDesktopComposited 于动态链接库 USER32.dll 上。

没办法,只好先看看User32.dll了:

IsCharAlphaA    0x77d3e5ad    0x0002e5ad    407 (0x197)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharAlphaNumericA    0x77d4f209    0x0003f209    408 (0x198)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharAlphaNumericW    0x77d2c0f9    0x0001c0f9    409 (0x199)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharAlphaW    0x77d1f2ae    0x0000f2ae    410 (0x19a)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharLowerA    0x77d3b851    0x0002b851    411 (0x19b)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharLowerW    0x77d4f152    0x0003f152    412 (0x19c)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharUpperA    0x77d37045    0x00027045    413 (0x19d)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsCharUpperW    0x77d69fb7    0x00059fb7    414 (0x19e)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsChild    0x77d1970e    0x0000970e    415 (0x19f)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsClipboardFormatAvailable    0x77d2f127    0x0001f127    416 (0x1a0)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsDialogMessage    0x77d3c651    0x0002c651    417 (0x1a1)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsDialogMessageA    0x77d3c651    0x0002c651    418 (0x1a2)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsDialogMessageW    0x77d2d8c2    0x0001d8c2    419 (0x1a3)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsDlgButtonChecked    0x77d25d75    0x00015d75    420 (0x1a4)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsGUIThread    0x77d69f77    0x00059f77    421 (0x1a5)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsHungAppWindow    0x77d69a39    0x00059a39    422 (0x1a6)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsIconic    0x77d1be27    0x0000be27    423 (0x1a7)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsMenu    0x77d31328    0x00021328    424 (0x1a8)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsRectEmpty    0x77d1bf26    0x0000bf26    425 (0x1a9)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsServerSideWindow    0x77d1da1d    0x0000da1d    426 (0x1aa)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWindow    0x77d1b933    0x0000b933    428 (0x1ac)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWindowEnabled    0x77d1bda2    0x0000bda2    429 (0x1ad)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWindowInDestroy    0x77d1da74    0x0000da74    430 (0x1ae)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWindowUnicode    0x77d1c59e    0x0000c59e    431 (0x1af)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWindowVisible    0x77d1c465    0x0000c465    432 (0x1b0)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsWinEventHookInstalled    0x77d1b1a5    0x0000b1a5    427 (0x1ab)    user32.dll    C:\WINDOWS\system32\user32.dll    
IsZoomed    0x77d1c2b2    0x0000c2b2    433 (0x1b1)    user32.dll    C:\WINDOWS\system32\user32.dll   

我的user32.dll版本为5.1.2600.3099,上面是所有的函数入口,显然,没有IsThreadDesktopComposited,因此可以想见,出现这个错误就不足为怪了。那么看来Windows Live writer加载的DLL不该使用USER32.dll的这个函数,这样,就必须看看DLL的加载过程,以便确定原因:

image

用VC工具一看,发现是c:\windows\system32\MPRAPI.DLL调用了user32.dll中的IsThreadDesktopComposited函数,而刚好我的XP的user32.dll中没有这个函数,所以发生了错误。

解决办法:

将MPRAPI.DLL改名,如MPRAPI.DLL.bak。

重新运行,解决问题。




本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2008/01/17/1043660.html,如需转载请自行联系原作者

相关文章
|
6月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
266 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
6月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
266 11
|
9月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
256 2
|
8月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
8月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
324 0
|
10月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
409 4
|
11月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
220 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
240 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
数据库连接 测试技术 Windows
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
Windows程序的数字签名证书怎么申请
Windows程序的数字签名证书申请流程包括:准备企业资料(营业执照、税务登记证等),提交申请表及企业资料。经过初审、实名认证和二审后,等待1-5个工作日审核结果。审核通过后,CA机构颁发证书并通过邮件或邮寄方式发送。收到证书后按指南安装并使用签名工具对程序进行数字签名,确保软件完整性和可信度。注意证书有效期、管理和兼容性问题。