问题标签 [setwindowlong]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
327 浏览

c++ - winapi:移除装饰

这看起来像重复,但请先听我说。这更多的是在调试方面。我正在尝试使用此处的方法删除窗口的边框。

有哪些事情会使这些功能不起作用?使用隐藏窗口ShowWindow(Handle, SW_HIDE)也不起作用。我已经制作了自己的 Window 类,其中包含许多功能,所以我不想在这里粘贴我的整个代码。

这是我的窗口初始化函数:

WindowProps如您所见,包含有关正在创建的窗口的各种信息。我的类中还有一个HWND指向窗口处理程序的指针变量。

这是我在 main 上尝试过的一些东西,其中 sw2 是指向我的窗口类的指针:

我只是想要一些关于在哪里调试我的代码的建议。我知道这些功能可以正常工作,因为我在一个更简单的窗口项目(Microsoft 的示例项目)上对其进行了测试。

0 投票
1 回答
2355 浏览

winapi - VB6 SetWindowLong 导致 Windows 7 64 位中的刷新问题

我仍然支持使用 GetWindowLong 和 SetWindowLong 在运行时根据设置删除 ControlBox 的旧 vb6 应用程序。这适用于所有 32 位系统,但是当它在 64 位系统上运行时,主窗口不再正确刷新。问题似乎是文本框、列表框或命令按钮等输入控件。在被某些窗口覆盖后,它们在获得焦点之前不会显示,即使这样它们的边框也不会正确显示。

我已阅读 MSDN 文档http://msdn.microsoft.com/en-us/library/ms633591%28v=vs.85%29.aspx说这些函数已被 ...WindowLongPtr 函数取代以兼容支持 32 位和 64 位系统。从我能读到的所有内容中,真正谈论的是编译 32 位和 64 位版本,而不是在不同的平台上运行。我试过改变我的声明

但我收到错误“在 user32 中找不到 DLL 入口点 GetWindowLongPtrA”。因此,我尝试将 Alias 保留为“...WindowLongA”并运行,并且正如我所料,刷新问题没有任何区别。

有没有其他人看到这个或有任何建议。

这是如何使用代码的示例。

谢谢

dbl

0 投票
1 回答
213 浏览

c# - 带有可见可点击控件的透明表单

我正在尝试在 win8 和 winforms 中制作一个鼠标透明表单,其中包含可点击的控件。

使用此代码,我可以使表单鼠标透明

(在 win8 上,WndProc 方法不起作用)

但是当我使窗体鼠标透明时,这个窗体中包含的控件也是鼠标透明的

我能做些什么?

0 投票
0 回答
213 浏览

c++ - WNDPROC CALLBACK 中的 LuaRef 调用崩溃


嗨,大家好。
我有一些带有 lua 支持的覆盖。
我需要创建一些 WndProc 回调,所以我使用 SetWindowLong 连接目标窗口的 WndProc 并保存旧的

创建了用于添加回调的全局函数,它将 func 保存到 wndCall Vector(LuaRef)
Lua 部分工作正常。它成功显示 WM_KEY... 事件的消息。
唯一的问题是:当我按住一些按钮或发送垃圾邮件命令时,我遇到了随机错误崩溃 :(
我认为这是因为 CALLBACK 在一次滴答声中被多次击中,并且在 LuaState 或 idk 中出现问题。
请帮我找到解决方案或一些额外检查 WndProc 函数。

0 投票
0 回答
49 浏览

c# - SetWindowLong 可点击的表单元素

SetWindowLong用来让我的表单点击覆盖。我想创建按钮和一些可点击的元素,但表单应该仍然不可见,因为它是一个覆盖。

我的加载功能:

其他一些部分:

我的按钮到底发生了什么,我怎样才能让它工作?

0 投票
0 回答
105 浏览

vb.net - 在 SetParent 之后获取滚动条的问题

我尝试将窗口程序集成到 vb.net 中的面板容器中。

一切正常,但滚动条被禁用,你知道为什么吗?

我的代码是:

putty.exe 程序是名为“panel1”的面板容器中的正确积分器,但垂直滚动条被禁用。你知道为什么吗 ?

该脚本使用以下声明:

在此处输入图像描述

0 投票
0 回答
108 浏览

winapi - 在 WM_CREATE 上设置窗口数据的优点

根据微软的文档,设置自定义窗口数据的方法是通过lpParam参数传递它CreateWindowEx,在窗口过程中检索它WM_CREATE,然后使用SetWindowLongPtr. CreateWindowEx我想知道当你已经有了窗口句柄时,你为什么要这样做,而不是在调用之后设置它。感谢您的任何指导,如果这是一个基本问题,我们很抱歉。

0 投票
1 回答
271 浏览

go - How can I manage windows of applications opened using Win32 API (Notepad, Word, Outlook, Chrome etc.)

How can we manage the wndproc function of the applications we run using the Win32 api? The software language I use is Go.

I tried more than one method but couldn't do it. Can you help?

I am learning the HANDLE (HWND) value of notepad application with Microsoft Spy ++

Then I watch the changes on Notepad ++ over SPY ++.

Just like with Spy ++, please help me manage the custom WNPROC function I wrote.

Method 2: