问题标签 [lparam]

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 投票
2 回答
2399 浏览

c++ - TVITEM LPARAM 存储字符串

我有一个树视图,列出了放在上面的文件。

当我创建一个新的树视图项目时,我想将文件的地址作为字符串存储在该项目中,并在以后为各种邪恶目的检索它。

查看 Microsoft 文档中的TVITEM 结构,显然LPARAM是存储值的地方:

参数

所以,我已经这样做了:

然后,当我尝试检索我的价值时......

...我只是得到垃圾,表明我的指针超出范围或正在打盹什么的。该指针的大小始终为 4。

这是做我想做的事情的正确方法吗?如果是这样,发生了什么?

0 投票
2 回答
740 浏览

c++ - LPARAM 在 TVITEM 中不断变化

我将一堆项目添加到树视图中,其中存储了一个字符串lParam,如下所示:

添加完所有这些后,我回来检查(在不同的函数中):

...并且 LPARAM 已重置为最后添加的项目的值。

所以,如果我添加one, two, three, four具有相似lParam值的项目,那么在我检查它们都lParam具有four. (有时,会有垃圾值。)

这里显然有问题,而且可能很容易修复,但经过几个小时的试验,我找不到问题所在。帮助!

0 投票
1 回答
2971 浏览

winapi - 赢32。如何将 POINT 转换为 LPARAM

我需要发送WM_MOUSEWHEEL消息。如何转换POINTLPARAM

0 投票
1 回答
1198 浏览

c# - 如何在 C# 中将 LParam 转换为 Struct

我有以下 c++ 结构

并转换为 C# 类

我使用以下两种方法在 WndProc 中转换 LParam。

但是,它没有成功,也没有发出常规错误消息,而是在“输出”窗口中收到消息“mscorlib.dll 中发生'System.TypeLoadException'类型的第一次机会异常”。谁能告诉我我的转换有什么问题?

0 投票
1 回答
6151 浏览

c++ - 带有 int 的 SendMessage 作为 lParam 或 wParam 的参数?

假设我想向我的 WndProc 发送一条消息,但我还想发送一个整数。

我的 WndProc 会收到它吗?然后我想将该 lParam(integer) 发送到一个函数。

如何将整数作为 lParam 或 wParam 发送,然后将该整数作为参数重新发送到函数?

0 投票
1 回答
253 浏览

c++ - lParam 或 WCHAR[] 有问题

首先,这个函数被多次调用。应该注意的是 wString[] 确实包含字符常量 '\n'。

最后,发送一条 WM_PAINT 消息,而 nLines 应为非零,因为日志包含多个 '\n'。我的 WndProc 接收消息并处理它。

之后,使用(假定的)非零 int 作为 lParam 调用 OnRender。

由于某种原因,在 OnRender 函数中,nLogLines 的值为 0。有什么问题?

0 投票
1 回答
503 浏览

winapi - 将指针投射到/来自 LRESULT

我正在寻找有关此 Windows 编程习语的确认,我认为许多不同类型的“句柄”不仅作为 LRESULT 对象而且作为 lParam 和 wParam 对象传递,这是否正确?

我猜,只要我们知道 LRESULT 或 lParam/wParam 中的“什么”类型的句柄,我们就可以将其转换回它。

例如

正确的?

这是“正确的”吗?任何人都可以为我和 StaticOverflow 社区提供关于这种技术/习语的简短论文吗?

问题:我们应该只返回 lParam(或只返回 wParam)值吗?有没有应该知道的陷阱?LRESULT 和 LPARAM 都是 LONG_PTR 类型,它们是 32 位或 64 位整数。我不是一个经验丰富的 C 程序员,但似乎这些整数只是被用作“缓冲区”,程序员后来在使用之前将其转换为“真实”类型......听起来准确吗?

0 投票
0 回答
889 浏览

c# - SendMessage 到窗口,lparam 改变?(间谍++,C#)

我正在尝试将 Ctrl + C 命令(复制文本)发送到自定义句柄,因此它没有获得焦点。

我查看了 Spy++ 中的消息:

所以我试图重现这个 C# (WM_GETDLGCODE = 0x0087):

但是,结果,Spy++ 告诉我:

我不明白 lParam 的变化。Ctrl + C 命令不执行。一个带有鼠标点击的 PostMessage 成功。我错过了什么吗?

0 投票
1 回答
894 浏览

pointers - 使用 CTreeCtrl 设置/获取 lParam 值

我正在使用 CTreeCtrl 来显示一些数据。对于树中的每个条目,我都有一些关联的数据,我将它们保存在一个结构中。通过将指向结构的指针放在树中每个条目的 lParam 值中,我将这些数据与项目一起保存。

这是我向树中添加条目的代码:

本质上,这个函数递归地向树中添加一个元素及其子元素。_pElement我通过外部。这是我班级的成员变量,所以我知道除非程序结束,否则它不会被破坏。

当用户在树视图中选择一个条目时,我处理 selchanged 消息:

pElement总是NULL。我调试了程序,它似乎lParam也为零。

我做错什么了吗?我知道我的结构的内存没有被释放。我正在将条目添加到树中是否有问题?

任何帮助,将不胜感激。

0 投票
2 回答
2834 浏览

python - 如何用python模拟(x,y)位置的桌面点击?

我正在尝试单击桌面上的某个位置,我正在使用带有 win32 api 的python,我正在使用 python 32 位但我的计算机是 64 位计算机。我相信 lParam 变量没有保持我期望的值,而且我仍然对这个变量本身有点困惑,假设我从 wintypes 导入它,谁能告诉我如何使用它?为什么我下面的功能不起作用?

我有以下功能,这似乎不起作用: