问题标签 [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 投票
1 回答
380 浏览

c++ - 更改 lParam 指向的值

我正在使用 Visual C++ /MFC,我正在发送一条消息SendMessage(GetParent(hDlg) ,MY_MESSAGE , 0 , LPARAM(x) );

如何更改父回调函数x内部的值?hDlg

例如,如果我发送消息SendMessage(hWnd , WM_GETTEXT ,0 , LPARAM(buffer);,缓冲区将返回完整的文本。缓冲区是如何改变它的价值的?

0 投票
1 回答
259 浏览

pointers - 如何将 lParam 转换为多个结构?

我在这里看到了下面的这段代码。我测试了它,它工作正常。

该参数lParam被强制转换为NMHDR*NMLINK*类型。message的文档WM_NOTIFYlParam可以转换成NMHDR*,但是NMLINK是封装的不同结构NMHDR

lParam当我们在这两者之间任意选择一个结构时,实际上会发生什么?

0 投票
0 回答
549 浏览

c# - 带点的 SendMessage 不起作用

我觉得真的很愚蠢,因为我在我的代码中找不到问题......我想用 SendMessage 发送鼠标点击。所以我的代码如下

而 CreateLParam 只是一个在 LParam 中转换 x、y 坐标的函数:

正如你所看到的,我想用一个点来调用这个方法,因为它对我来说似乎比总是有两个变量 varX 和 varY 更容易(如果它正在工作,也想在 CreateLParam 中更改它......)现在的问题是,通话

正在工作,但通话

不工作,我不明白为什么。已经尝试调试,但它只是没有向窗口发送任何消息。如果我用 pX 和 pY 调用它,它会再次按预期工作。不是一个大问题,因为我可以用 x 和 y 值来做,但它对我来说是更多的代码:P btw。也用自己的点结构尝试过。

所以我错过了什么吗?

0 投票
2 回答
705 浏览

c++ - 如何在 C++ 中从 SendMessage 请求(外部 exe)中获取字符串

我有两个可执行文件。我想用一个从另一个获取字符串。换句话说,我想做一个进程间通信。我在WndProc中使用(char*)lParam
尝试了SendMessage。但是,它不起作用。(char*)lParam产生运行时错误。 这是我的代码的一部分: SendMessage 的发送者:



SendMessage 的接收者(在 WndProc 中):


我搜索了这个问题。一些答案就像“它们不共享相同的内存空间”。但是,我不知道如何处理它。
如果使用SendMessage不正确,我该怎么做?

PS:我正在使用 TDM-GCC,不想使用 MFC 甚至 VC++。如果可能的话,请不要通过他们给我解决方案。;p

谢谢,
W. Xie

0 投票
1 回答
121 浏览

c++ - 收到 WM_KEYDOWN 消息时 lParam 的行为是什么?

我开始使用 c++ 语言学习 winapi。我试图理解lParamon WM_KEYDOWN 消息。

从微软文档:

0-15:当前消息的重复计数。该值是由于用户按住键而自动重复击键的次数。如果击键时间足够长,则会发送多条消息。但是,重复计数不是累积的。

16-23:扫码。该值取决于 OEM。

24:指示该键是否为扩展键,例如出现在增强的 101 或 102 键键盘上的右手 ALT 和 CTRL 键。如果是扩展键,则值为 1;否则为 0。

25-28:保留;不使用。

29:上下文代码。对于 WM_KEYDOWN 消息,该值始终为 0。

30:前一个键状态。如果在发送消息之前密钥已关闭,则该值为 1,如果密钥已启动,则该值为 0。

31:过渡状态。对于 WM_KEYDOWN 消息,该值始终为 0。

我正在通过这种方式处理此消息:

如果我按下键盘上的“A”按钮,我会得到输出: 30, 0, 0, 0, 0, 1

如果我按住“A”按钮,我会得到多个输出:

如果我按其他字母按钮,我会得到相同的结果,但有其他第一个数字。(例如,对于“B”按钮,我得到 48 作为简单的按下,49200 作为保持)

我怎么理解?

0 投票
1 回答
130 浏览

java - Java / JNA 中有类似 MAKELPARAM 的东西吗?

我想实现从这个答案中获取的代码并模拟点击而不模拟非java应用程序窗口内的鼠标移动。我知道JNA理论上应该具有所有 WinAPI 功能。最新的 JNA 版本是 5.6.0 但我没有找到类似于MAKELPARAM的东西。

有谁知道JavaJNA中是否有类似的东西?

请不要推荐 Java Robot。我已经尝试过了,但不幸的是,鼠标光标从起始位置移动(消失)大约一毫秒到您需要单击的点并返回到起始位置。