相关疑难解决方法(0)

CreateProcess STATUS_DLL_NOT_FOUND - 哪个dll?

我有一个调用的过程CreateProcess.似乎CreateProcess返回非零表示成功.但是,然后立即设置该过程的HANDLE,表示该过程已退出.当我打电话时GetExitCodeProcess,STATUS_DLL_NOT_FOUND然后返回.

我知道DLL丢失了.我甚至知道究竟是哪一个.但是,我不明白的是如何以编程方式解决这个问题.

我注意到Windows将显示一个对话框,说明该进程无法启动,因为它无法找到指定的DLL(屏幕截图:http://www.mediafire.com/view/?kd9ddq0e2dlvlb9).在对话框中,Windows指定缺少哪个DLL.但是,我发现无法以编程方式自行获取该信息.

如果进程无法启动并将返回STATUS_DLL_NOT_FOUND,我如何以编程方式检索目标进程所链接的库名称,该名称无法找到?这样我就可以在错误报告中自动记录在给定安装中DLL似乎丢失或损坏的内容.

c c++ windows dll winapi

9
推荐指数
2
解决办法
1604
查看次数

如何检测应用程序所需的DLL?

简而言之:我想做"Dependency Walker"做同样的事情.

是否有任何Win32 API函数可以枚举EXE和/或DLL文件的依赖项?

是否有任何安全的方法来检测ActiveX类的依赖?(我怀疑这是可能的,但谁知道...)

编辑:我知道可用的工具提供相同的核心功能(Dependency Walker,ProcessExplorer,AQTime,...),但我想创建自己的程序,转储包含所需模块的文本文件.

dll winapi

7
推荐指数
3
解决办法
1万
查看次数

如何确定exe文件是.exe exe还是常规exe?

不是重复的问题: 如何判断win32应用程序是否使用.NET运行时.

如果给定的exe文件是.net exe文件或常规WIN32/WIN64 exe文件,我怎么能以编程方式找出?

问题不是询问正在运行的进程,而是关于exe文件,而且正如标签所示,不需要用VB.net或C#编写的解决方案.

我需要一个带有签名的函数,例如:

// return true if filename is a exe file for .Net
bool IsExeFileDotNet(LPCTSTR filename)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

c c++ windows winapi

4
推荐指数
3
解决办法
1208
查看次数

标签 统计

winapi ×3

c ×2

c++ ×2

dll ×2

windows ×2