auto 发表于 2011-10-18 19:54:26

有没有办法锁定IE的标题栏?

AU3不循环检测下的情况下有没有办法锁定IE的标题栏?

xms77 发表于 2011-10-19 12:47:33

你指的锁定具体是什么目的?

auto 发表于 2011-10-19 18:33:26

IE标题栏会有变化,点击IE内的内容或菜单,标题会有跟着变化,想固定下来,不再变化

autoit3CN 发表于 2011-10-19 20:48:11

最多就是改改注册表加个IE标题尾巴
你要整个IE标题都不变那就去修改IE的内核吧

xwt620 发表于 2011-10-19 21:29:15

回复 1# auto


Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe")
WinWaitActive("")
AdlibRegister("Modify_IE_Title",1000)

Func Modify_IE_Title()
      WinSetTitle("", "", "新开的IE")
EndFunc

While 1
      Sleep(10)
WEnd


auto 发表于 2011-10-19 22:15:45

WinSetTitle 试过了。。会变的,你这个是每一秒钟刷新一次。。当点击内容时,标题还是会闪一下的再变回“新开的IE”

afan 发表于 2011-10-19 22:24:45

做个只有标题栏的Gui覆盖,完事……

autoit3CN 发表于 2011-10-19 23:08:17

回复 7# afan


    也满足不了楼主“不循环检测”的条件

pusofalse 发表于 2011-10-20 00:10:34

如果是用的IE8,可以用以下代码禁止更改标题。仍可以用外部程序调用WinSetTitle、SetWindowText一类的函数更改IE窗口标题。
#include <WinAPI.au3>

Local $hWnd = WinGetHandle("百度一下,你就知道")
If $hWnd = 0 Then Exit

Local $iPid = WinGetProcess($hWnd)
Local $hProcess = _WinAPI_OpenProcess(0x28, 0, $iPID)

DllCall("Kernel32.dll", "bool", "WriteProcessMemory", "handle", $hProcess, "ptr", 0x3ED78CAB, "word*", 0x11EB, "long", 2, "long*", 0)
_WinAPI_CloseHandle($hProcess)

WinSetTitle($hWnd, "", "此窗口标题不变")

IE浏览器设置自身的窗口标题是通过调用SendMessageW函数发送WM_SETTEXT消息实现的,这段代码没有挂钩SendMessage函数,而是挂钩了SendMessage函数的调用方地址0x3ED78CAB。

ylsfwb 发表于 2011-10-20 00:27:09

学习学习~~~

gzh888666 发表于 2011-10-20 00:27:27

本帖最后由 gzh888666 于 2011-10-20 00:41 编辑

如果是用的IE8,可以用以下代码禁止更改标题。仍可以用外部程序调用WinSetTitle、SetWindowText一类的函数更 ...
pusofalse 发表于 2011-10-20 00:10 http://www.autoitx.com/images/common/back.gif


    P版。怎么改回来呀?中招了,呵呵!
晕了!重启电脑解决!

xwt620 发表于 2011-10-20 00:28:33

看到WriteProcessMemory感觉就像是修改游戏内存指针一样,等于修改IE的相关信息

hzxymkb 发表于 2011-10-20 06:48:25

还是API厉害!受教了!

menfan1 发表于 2011-10-20 09:19:06

又学到一招哈。。

masterpcc 发表于 2011-10-20 09:32:41

学习学习!!,谢谢~~
页: [1] 2
查看完整版本: 有没有办法锁定IE的标题栏?