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

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

今天安装了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,如需转载请自行联系原作者

相关文章
|
17天前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
4天前
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
13 0
|
15天前
|
安全 网络安全 API
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
|
18天前
|
小程序 Windows
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
|
2月前
|
JavaScript Windows
electron程序运行在某些 windows 上白屏
electron程序运行在某些 windows 上白屏
|
2月前
|
Linux Windows Python
最新 Windows\Linux 后台运行程序注解
本文介绍了在Windows和Linux系统后台运行程序的方法,包括Linux系统中使用nohup命令和ps命令查看进程,以及Windows系统中通过编写bat文件和使用PowerShell启动隐藏窗口的程序,确保即使退出命令行界面程序也继续在后台运行。
|
5月前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
110 1
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
4月前
|
Windows
windows系统bat批处理 开机一键多个程序
windows系统bat批处理 开机一键多个程序
67 1
|
4月前
|
Windows 计算机视觉 Linux
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
该文档介绍了Qt的跨平台特性,并推荐在Windows和Linux开发中使用QtCreator。在Windows下添加动态库,可以通过Visual Studio配置.lib文件和.dll文件,或在QtCreator中使用"添加库"功能。在QtCreator中,选择库文件、包含路径,并配置Details,然后更新.pro文件,清除、qmake及构建项目。运行时确保.dll与.exe在同一目录下。
107 0
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
|
5月前
|
Linux 开发工具 计算机视觉
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
Qt是跨平台的开发工具,推荐使用QtCreator进行Windows和Linux开发。在Windows下,使用Visual Studio创建动态库时,需要配置.lib文件并确保运行时.dll与.exe在同一目录。在QtCreator中添加DLL动态库,可以通过右键项目,选择添加库,然后在Details界面配置库文件、包含路径和平台,最后更新PRO文件并进行清除、qmake和构建步骤。运行时同样需确保.dll文件与可执行文件在同一目录。
158 5