问题标签 [getmodulefilename]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何正确使用 GetModuleFileName?
以下代码:
应该显示程序执行的完整路径。但在 VS 2012 中,我得到了错误:
使用了未初始化的局部变量“缓冲区”
代码有什么问题?
windows - 来自 64 位应用程序的 32 位应用程序的 GetModuleFileNameExA 在 Win7 与 Win Server 2012 上的行为不同?
有点复杂的问题,我无法在标题中正确总结。
我有一个 64 位进程 (Foo64),它创建一个 32 位子进程 (Bar32),然后尝试获取 Bar32 的 kernel32.dll 版本的完整路径。显然我希望 Bar32 从 C:\Windows\SysWow64\kernel32.dll 加载它
在 Windows 7 上,我从 Foo64 调用 GetModuleFileNameExA(),并正确获取“C:\Windows\SysWow64\Kernel32.dll”。
在 Windows Server 2012 上,完全相同的代码返回“c:\Windows\system32\kernel32.dll”,这是 64 位 dll 位置。Bar32 显然不可能加载 64 位 dll。
我的预感是 Server 2012 告诉我 Bar32 尝试加载它的位置,而不是实际重定向的位置。我怎样才能让它告诉我真实的位置?
我有什么基本的误解吗?
我已经阅读了所有相关的 MSDN 页面,以及所有相关谷歌搜索的前三页。
masm - 在 MASM / GetModuleFileName 中以空值终止字符串
在我的程序中,我从 Windows Api 调用 GetModuleFileName 函数。该函数告诉我正在运行的 *.exe 的路径。
根据MSDN ,在 Windows XP 机器上,字符串 (szSrc) 不是以空值结尾的。
我怎样才能终止它?
c++ - WinAPI:在位置更改时查找自己可执行的目录
我想创建一个 C++ 程序,该程序不断检查可执行文件的位置,如果不存在则将其移动到定义的位置。
这适用于一次性运行。
但是我的问题是,当我运行可执行文件并将 GetModuleFileName 放在一个循环上并将可执行文件移动到不同的位置时,GetModuleFileName 不会返回新位置,我希望它返回它,我很新到 WinAPI 并且几乎不了解基础知识,所以请不要开始抨击我或其他什么...
c++ - GetModuleFileName 不返回路径
我正在尝试使用 VS c++ 获取 win7 下的当前目录,但是
返回长度 58,我认为它是 pBuf 中指向 68 的指针。错误代码为 0。
谢谢!
c++ - 我可以检索包含非拉丁字符的路径吗?
我调用GetModuleFileName
函数,以检索指定模块的完全限定路径,以便通过Process::Start
方法调用同一文件中的另一个 .exe。
但是,当路径包含非拉丁字符(在我的情况下为希腊字符)时,无法调用 .exe。
有什么办法可以解决这个问题吗?
代码:
c++ - GetModuleFileName 在服务中总是返回小写
我需要获取服务中当前可执行文件的路径,但是当使用 GetModuleFileNameW 或全局变量 _pgmptr 时,我总是得到小写路径,这对我来说是不正确的。
示例:原始路径为 C:/MyApp/app.exe 并且 GetModuleFileNameW 始终返回 c:/myapp/app.exe
问题不会出现在桌面应用程序中,只有服务。我怎样才能获得正确的案例路径?
c++ - GetModuleFileName 的边缘情况不明确
MSDN 文档状态:
lpFilename [输出]
指向接收模块的完全限定路径的缓冲区的指针。如果路径的长度小于 nSize 参数指定的大小,则函数成功并且路径作为以空字符结尾的字符串返回。
如果路径的长度超过了 nSize 参数指定的大小,则函数成功并且字符串被截断为 nSize 个字符,包括终止空字符。
Windows XP:字符串被截断为 nSize 个字符并且不是以空值结尾的。
这是模棱两可的。我是否可以解释为该字符串在 Windows XP 上永远不会以空值结尾?或者当字符串被截断时它不是以空结尾的?
如果有人知道措辞更好的参考资料,或者在某处运行 Windows XP 并且可以简单地测试行为,我将不胜感激。
c++ - 尝试使用 GetModuleFileName 查找 exec 文件但返回数字
这是我的代码。我有一个缓冲区来保存输出,但它返回数字。有人可以解释一下吗?我怎样才能得到我的 exe 文件?
windows - GetModuleFileNameW 返回与 GetCurrentDirectoryW (subst) 不同的路径
我创建了一个如下所示的子驱动器:
G:\ => F:\projects\projectname\
当我调用 GetModuleFileNameW
它使用原始路径返回模块路径,例如:
尽管我从 subst drive 位置运行解决方案和项目。
但是,如果我调用 GetCurrentDirectoryW
它最终返回正确的路径,例如:
如何让 GetModuleFileNameW 返回 subst 路径而不是原始路径?