我创建了一个像资源黑客这样的应用程序。我想更改一个窗口的标题栏文本,其句柄我可以使用SPY ++找到。
有没有办法可以修改程序集的资源并通过我的代码更改标题,以便更改是永久性的。
是否有像我的程序一样免费或商业化的工具?这可以更改Windows可执行文件的标题栏文本并将其组装回来。
我愿意接受建议。
我使用VC ++编写应用程序代码。
答案 0 :(得分:2)
我的浏览器目前在标题栏“更改Windows可执行文件的标题栏 - Stack OVerflow - Opera”中。请解释如何通过资源解决这个问题。
现在,这实际上是可行的,但不是通过资源。您需要创建一个设置标题的DLL,并拦截任何设置标题的尝试。通过将WM_SETTEXT发送到HWND来更改标题。因此,您的DLL将需要挂钩主窗口类的WndProc并丢弃WM_SETTEXT消息。
下一步是将您的DLL添加到EXE的DLL依赖项列表中。您需要将DLL添加到IAT,但不需要导入任何内容。 Matt Pietrek在An In-Depth Look into the Win32 Portable Executable File Format
中详细描述了这种格式答案 1 :(得分:1)
你的目标是只有极少数特殊情况才能实现的不可能的事情。您可以使用API更改exectuable的资源,例如。 BeginUpdateResource,UpdateResource等。只有少数应用程序将窗口/对话框存储为资源,但是窗口是在运行时创建的,文本被硬编码到可执行代码或字符串资源中(或者可能是不同的东西,比如.NET或Borland VCL)。永久地更改可执行文件的范围介于非常难以实现的范围之内,具体取决于具体的应用程序。
答案 2 :(得分:0)
有关详细信息,请参阅MSDN's Resource overview页面。