TC官方合作论坛

标题: 关于DLLCALL碰到的问题 [打印本页]

作者: gsgl    时间: 2015-2-6 02:23
标题: 关于DLLCALL碰到的问题
想实现1个去掉游戏窗口标题栏和边框的功能,用的大漠插件,代码如下:


空间 aa

dm=com("dm.dmsoft")

变量 GWL_STYLE=-16
WS_BORDER   =#00800000//无边框属性
变量 WS_EX_WINDOWEDGE,WS_EX_DLGMODALFRAME,style,WS_CAPTION

//开始按钮_点击操作
功能 开始_点击()
   
    辅助.等待(3000)
   
    hwnd = dm.GetMousePointWindow()
      
    style=dllcall("user32.dll","int","GetWindowLongA","int",hwnd,"int",GWL_STYLE)

    dllcall("user32.dll","int","SetWindowLongA","int",hwnd,"int",GWL_STYLE,"int",style-WS_BORDER)

   执行后游戏窗口无法移动了,但是标题栏仍然显示,我把游戏窗口最小化再最大化后,标题栏才不显示了,同样,我后来用style-WS_BORDER这个参数还原标题栏时,也需要把游戏窗口
最小化再最大化,才能显示还原的标题栏,是不是窗口属性变了要用个新的API更新窗口呢,如果是请问怎么让他自动更新到设置改变了的新的窗口呢?

作者: dear    时间: 2015-2-6 02:55
UpdateWindow试下
作者: a837198    时间: 2015-2-6 07:03
设置号属性 就更新一下的 不更新 他怎么知道我要改变呢
作者: gsgl    时间: 2015-2-6 15:50
dear 发表于 2015-2-6 02:55
UpdateWindow试下

dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 我加了这句代码,还是不行,无法自己更新窗口,必须手动最小化,然后还原,多切换下,才刷新新的窗口,请问什么原因,我代码是否参数加的不对
作者: gsgl    时间: 2015-2-6 15:52
setwindowlong 后是否用dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 这句更新窗口,我是否代码写的有问题,还是不能自动更新窗口
作者: sam7894604    时间: 2015-2-6 16:20
gsgl 发表于 2015-2-6 15:52
setwindowlong 后是否用dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 这句更新窗口,我是否代 ...
  1. dllcall("user32.dll","int","UpdateWindow","int",hwnd)
复制代码

请查明函数说明在调用...
作者: 2645572175    时间: 2015-6-26 08:02





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1