TC官方合作论坛

 找回密码
 立即注册
查看: 568|回复: 6
打印 上一主题 下一主题

[问题] 关于DLLCALL碰到的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-6 02:23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
想实现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更新窗口呢,如果是请问怎么让他自动更新到设置改变了的新的窗口呢?
回复

使用道具 举报

沙发
发表于 2015-2-6 02:55:35 | 只看该作者
UpdateWindow试下
回复 支持 反对

使用道具 举报

板凳
发表于 2015-2-6 07:03:58 | 只看该作者
设置号属性 就更新一下的 不更新 他怎么知道我要改变呢
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2015-2-6 15:50:36 | 只看该作者

dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 我加了这句代码,还是不行,无法自己更新窗口,必须手动最小化,然后还原,多切换下,才刷新新的窗口,请问什么原因,我代码是否参数加的不对
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2015-2-6 15:52:33 | 只看该作者
setwindowlong 后是否用dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 这句更新窗口,我是否代码写的有问题,还是不能自动更新窗口
回复 支持 反对

使用道具 举报

6#
发表于 2015-2-6 16:20:38 | 只看该作者
gsgl 发表于 2015-2-6 15:52
setwindowlong 后是否用dllcall("user32.dll","int","UpdateWindowA","int",hwnd) 这句更新窗口,我是否代 ...
  1. dllcall("user32.dll","int","UpdateWindow","int",hwnd)
复制代码

请查明函数说明在调用...
回复 支持 反对

使用道具 举报

7#
发表于 2015-6-26 08:02:42 | 只看该作者
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-22 08:49 , Processed in 0.174818 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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