找回密码
 加入
搜索
查看: 38314|回复: 70

[GUI管理] [已解决]如何创建一个类名不是"AutoIt v3 GUI"的窗口

 火... [复制链接]
发表于 2013-1-6 16:14:20 | 显示全部楼层 |阅读模式
本帖最后由 lin6051 于 2013-1-7 15:31 编辑

如何创建一个类名不是"AutoIt v3 GUI"的窗口?
GUICreate创建的窗口全是"AutoIt v3 GUI"类名



-----
结果:
用 winhex改了 bin文件 ..
发表于 2017-7-8 01:54:09 | 显示全部楼层
回复 65# xiaonox

觀念是

你以前是 修改 BIN 然後 這個BIN 會被加入到 EXE 裡面

現在找不到 BIN  可是最後的 EXE 裡面還是有BIN

那段字串在 EXE 裡面找不到 是因為 被殼 包住了

因此 不要 壓縮 就找的到  改完了 在去壓縮
发表于 2013-1-6 16:34:43 | 显示全部楼层
是的这个,这个能修改用处多多
发表于 2013-1-6 16:36:44 | 显示全部楼层
回复 2# A3fan

是的,这个可以修改,但有什么用处呢??
 楼主| 发表于 2013-1-6 16:51:44 | 显示全部楼层
不是说 有些软件防止 autoit程序  会检查类名全是这个的全部关掉
还有一些做的游戏辅助程序 可能也会被查杀
发表于 2013-1-6 17:40:24 | 显示全部楼层
本帖最后由 lpxx 于 2013-1-6 17:42 编辑

好像是修改AutoItSC.bin文件

参考链接

评分

参与人数 2金钱 +20 收起 理由
xiaowo + 10 兄弟为何不直接把方法贴到本论坛来呢
annybaby + 10 意思意思,虽然看不到~~

查看全部评分

发表于 2013-1-6 17:59:50 | 显示全部楼层
回复 5# lpxx


    没有账号看不了`~
估计也是我本坛那个一样,说是修改了,还收30金,下了一看~~X!!

创建只窗体倒是容易,只是如何创建之后也很方便地在上面用原来的创建控件的函数来创建控件并且响应事件,好像不是件容易的事1~~
发表于 2013-1-6 18:13:07 | 显示全部楼层
使用api函数重写窗口,帮助有例子的
发表于 2013-1-6 18:16:52 | 显示全部楼层
#Include <WinAPIEx.au3>
#Include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

;~ Global Const $IDC_ARROW = 32512

Global Const $sClass = 'MyWindowClass'
Global Const $sName = 'MyProg'
Global Const $IDC_ARROW=0
Global $tWCEX, $tClass, $tIcon, $hProc, $hInstance, $hCursor, $hIcon, $hIconSm, $Exit = False

; Get module handle for the current process
$hInstance = _WinAPI_GetModuleHandle(0)

; Create a class cursor
$hCursor = _WinAPI_LoadCursor(0, $IDC_ARROW)

; Create a class icons (large and small)
$tIcon = DllStructCreate('ptr;ptr')
_WinAPI_ExtractIconEx(@SystemDir & '\shell32.dll', 130, DllStructGetPtr($tIcon, 1), DllStructGetPtr($tIcon, 2), 1)
$hIcon = DllStructGetData($tIcon, 1)
$hIconSm = DllStructGetData($tIcon, 2)

; Create DLL callback function (window procedure)
$hProc = DllCallbackRegister('_WndProc', 'lresult', 'hwnd;uint;wparam;lparam')

; Create and fill $tagWNDCLASSEX structure
$tWCEX = DllStructCreate($tagWNDCLASSEX)
$tClass = DllStructCreate('wchar[' & StringLen($sClass) + 1 & ']')
DllStructSetData($tClass, 1, $sClass)
DllStructSetData($tWCEX, 'Size', DllStructGetSize($tWCEX))
DllStructSetData($tWCEX, 'Style', 0)
DllStructSetData($tWCEX, 'hWndProc', DllCallbackGetPtr($hProc))
DllStructSetData($tWCEX, 'ClsExtra', 0)
DllStructSetData($tWCEX, 'WndExtra', 0)
DllStructSetData($tWCEX, 'hInstance', $hInstance)
DllStructSetData($tWCEX, 'hIcon', $hIcon)
DllStructSetData($tWCEX, 'hCursor', $hCursor)
DllStructSetData($tWCEX, 'hBackground', _WinAPI_CreateSolidBrush(_WinAPI_GetSysColor($COLOR_3DFACE)))
DllStructSetData($tWCEX, 'MenuName', 0)
DllStructSetData($tWCEX, 'ClassName', DllStructGetPtr($tClass))
DllStructSetData($tWCEX, 'hIconSm', $hIconSm)

; Register a window class
_WinAPI_RegisterClassEx($tWCEX)

; Create a window
_WinAPI_CreateWindowEx(0, $sClass, $sName, BitOR($WS_CAPTION, $WS_POPUPWINDOW, $WS_VISIBLE), (@DesktopWidth - 400) / 2, (@DesktopHeight - 400) / 2, 400, 400, 0)

While 1
    Sleep(100)
    If $Exit Then
        ExitLoop
    EndIf
WEnd

; Unregister window class and release unnecessary resources
_WinAPI_UnregisterClass($sClass, $hInstance)
_WinAPI_DestroyCursor($hCursor)
_WinAPI_DestroyIcon($hIcon)
_WinAPI_DestroyIcon($hIconSm)
DllCallbackFree($hProc)


Func _WndProc($hWnd, $iMsg, $wParam, $lParam)
    Switch $iMsg
        Case $WM_CLOSE
            $Exit = 1
    EndSwitch
    Return _WinAPI_DefWindowProcW($hWnd, $iMsg, $wParam, $lParam)
EndFunc   ;==>_WndProc

评分

参与人数 2金钱 +50 收起 理由
ura + 30 哈哈哈,,好
komaau3 + 20 学习

查看全部评分

发表于 2013-1-6 19:07:48 | 显示全部楼层
回复 8# 风行者

这个是帮助里的例子啊,如我6楼所提到的,只是创建个空窗体容易,甚至用API来创建控件也不会太难,但是,如果在里面创建可以响应事件的控件就不容易了,而且原来的几种GUICTRLCREATE**都不能用了~~
发表于 2013-1-6 19:13:52 | 显示全部楼层
回复 1# lin6051

看看这个怎么样???


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +50 收起 理由
komaau3 + 50 学习了

查看全部评分

 楼主| 发表于 2013-1-6 19:36:48 | 显示全部楼层
我下载了个_RegisterClassEx.au3
可以创建窗口,但窗口内容不知道怎么添加
 楼主| 发表于 2013-1-6 19:43:26 | 显示全部楼层
网上下载的修改bin文件是可以的,不过我这的版本是3.2.12.0,他改不了
发表于 2013-1-6 20:36:20 | 显示全部楼层
回复 11# lin6051


    创建窗体和添加控件都是可以的,不过要控件响应事件就很麻烦了~~
发表于 2013-1-6 20:37:30 | 显示全部楼层
回复 12# lin6051


    道理是一样的,手工修改就可以了~
 楼主| 发表于 2013-1-6 21:47:15 | 显示全部楼层
回复 14# annybaby


如何修改   AutoItSC.bin 内类名?

还有怎么我的au3  3.3.6.1编译的exe基本都可以反编译回au3呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 11:48 , Processed in 0.120835 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表