Win32 API SearchPath失败

S_R

即使system32中存在Win32 API SearchPath API找不到“ telnet.exe”二进制路径。

但是,当我使用相同的代码搜索notepad.exe时,它将返回文件路径。让我感到困惑的是,notepad.exe和telnet.exe都位于同一目录中,即C:\ windows \ system32。

这是我写的代码

char path[MAX_PATH] = {0};
LPSTR* ptr = NULL;

DWORD dwRet = SearchPathA(NULL, "telnet.exe",
    NULL, MAX_PATH, (LPSTR)path, ptr);

这将始终返回0,而GetLastError为2(找不到文件)

知道这里发生了什么吗?

我在x64机器上使用Windows 2008 R2企业版

感谢和问候苏尼尔

shf301

它不起作用,因为您的应用程序是32位的,并且受文件系统重定向器的影响您的应用程序不在查找中C:\Windows\System32,而是被重定向到C:\Windows\SysWow64

notepad.exe存在于System32和中SysWow64,但telnet.exe仅存在于中System32因此,您的应用程序在搜索路径时找不到它。

您可以通过调用Wow64DisasbleWow64FsRedirection为您的应用程序禁用此行为但是请注意文档链接中的警告,指示应仅暂时将其禁用,然后重新启用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Win32窗口创建失败?

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

如何禁用按钮-Win32 API

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

Java到Win32加密API

来自分类Dev

Win32 API 无法 CreateWindowW()

来自分类Dev

Windows:如何拦截Win32磁盘I / O API

来自分类Dev

调用win32 API并回调类函数

来自分类Dev

在Python中使用WIN32 API CreateProcessAsUser

来自分类Dev

Win32 API独有的功能?

来自分类Dev

Win32 API C ++菜单栏

来自分类Dev

从FlasCC(又名Crossbridge)访问Win32 API

来自分类Dev

C ++ Win32 Api资源文件

来自分类Dev

使用C ++ Win32 API启用视觉样式吗?

来自分类Dev

Win32 API函数GetExplicitEntriesFromAcl()的对应项是什么?

来自分类Dev

使用Win32 API绘制笛卡尔系统

来自分类Dev

C Win32 API:设置复选框的状态

来自分类Dev

PRINTER_INFO_6无法使用WIn32 API

来自分类Dev

具有HWND_BROADCAST的Win32 API SendMessage

来自分类Dev

没有Win32 API的本地帮助内容

来自分类Dev

如何为Win32 API声明变量?

来自分类Dev

如何清除Win32 API中的屏幕

来自分类Dev

无法在Win32 API中读取HWND的内存

来自分类Dev

将变量传递给WIN32 API LPCWSTR?

来自分类Dev

Win32 API与Java套接字刷新(TCP)

来自分类Dev

Python win32 api drawText() 和 SetTextColor

来自分类Dev

DLL加载失败:%1不是有效的Win32应用程序-Appcelerator

来自分类Dev

Win32 File IO可以工作,但是fopen等。等 失败。这里发生了什么?

来自分类Dev

重定向到“ NUL”失败:FileStream无法打开Win32设备