【发布时间】:2013-11-24 15:18:59
【问题描述】:
我想创建一个 C++ 程序来不断检查可执行文件的位置和移动 如果不存在,则将其移至定义的位置。
这适用于一次性运行。
但是我的问题是,当我运行可执行文件并将 GetModuleFileName 放在循环中时, 并将可执行文件移动到不同的位置,GetModuleFileName 不会返回 新位置,我希望它返回它,我对 WinAPI 非常陌生,几乎不了解基础知识,所以请不要开始抨击我或其他什么...
【问题讨论】:
-
我不确定这是否可行。您可以检查您的可执行文件是否位于所需的目录中,但将其移回...我不是专家,但我认为用户模式功能禁止此类操作。
-
如果你移动正在运行的可执行文件,你并没有移动当前的可执行文件——从你的进程的角度来看,你只是将一些文件移动到某个位置(我不知道这是否可能,正如 Petro 指出的那样,- 你可以移动当前在内存中的文件吗?)。
-
可执行文件被加载到内存中。它只“记住”它是从哪里运行的。
-
你想解决什么问题?
-
如果程序可以确定可执行文件的移动时间和位置,这将是可能的。移动的事实很容易检测到。同样正如@DavidHeffernan 指出的那样,考虑提供更多有问题的细节。另外,我有一种奇怪的感觉,你是初学者恶意软件..
标签: c++ winapi getmodulefilename