关于为线程创建消息队列的问题 求大神 易语言代码

z1195224900 z1195224900 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
据我所知线程创建后是没有消息队列的.需要调用GetMessage 或 PeekMessage 之类关于消息的函数。可是我调用后依然接收不到信息
MSDN解释:
引用
When a message is blocked by UIPI the last error, retrieved with GetLastError, is set to 5 (access denied).

The thread to which the message is posted must have created a message queue, or else the call to PostThreadMessage fails. Use the following method to handle this situation.

Create an event object, then create the thread.

Use the WaitForSingleObject function to wait for the event to be set to the signaled state before calling PostThreadMessage.

In the thread to which the message will be posted, call PeekMessage as shown here to force the system to create the message queue.

PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE)

Set the event, to indicate that the thread is ready to receive posted messages.

虽然知道中文意思 但是完全搞不懂
下面是 线程现在做的事:易语言代码
.版本 2
.支持库 spec

.子程序 线程
.局部变量 msg, MSG, , , MSG类型的变量 要来接收信息

PeekMessage (msg, 0, #WM_USER, #WM_USER, #PM_NOREMOVE) ' 第一次检查消息队列 “ 返回0 ” 这个应该就是创建队列把?
.判断循环首 (运行中 = 真)
PeekMessage (msg, 0, #WM_USER, #WM_USER, #PM_REMOVE) ' 检查消息队列 “ 返回0 ”
调试输出 (msg.message, msg.wParam, msg.lParam) ' 输出的都是 0 啊
Sleep (2000)
.判断循环尾 ()

然后我就 API_PostThreadMessage (线程Id, 1, 1, 1) 返回0 再调用GetLastError () 返回1159
还是投递失败啊 为什么
PostThreadMessage 后面的3个参数可以自定把?

求大牛 在线等回答
...全文

相关推荐

易语言实现PostMessage功能的源码解析

易语言是一种中文编程语言,它以简化的语法和中文关键字为特点,使得中文用户能够更加容易地编写程序。本章将简要介绍易语言的发展历程、基本特点及其在编程领域的应用。在Windows编程中,消息传递是应用程序与系统之间,以及应用程序内部各组件之间通信的基础。当用户进行输入(如鼠标点击、键盘按键)或者系统产生某种事件(如窗口大小改变、定时器到期等),系统会将这些事件封装为消息,并放入到对应的应用程序消息队列中。应用程序通过消息循环不断从消息队列中取出消息,并分派到相应的窗口过程函数进行处理。

随红

易语言线程编程:启动与数组参数传递实战指南

在编程中,数组是一种数据结构,它能够存储一系列同类型的元素。文本型数组是数组的一种特殊形式,专门用于存储文本数据。文本数据在大多数编程语言中,通常以字符串(string)的形式存在。因此,文本型数组可以被理解为字符串数组。例如,在易语言中,文本型数组可能被定义为一个字符串数组,可以存储多个字符串。文本型数组在处理文本信息,如文件内容、用户输入或网络数据时非常有用。由于文本数据的处理往往涉及大量字符串操作,例如搜索、替换、合并等,使用数组可以使得这些操作更加高效。

彭喵喵

易语言实现自进程消息拦截技术教程

易语言是一种简单易学的编程语言,特别适合于初学者和非专业程序员。其设计宗旨是让编程更简单、更直观、更接近自然语言,从而降低编程的门槛,使得更多人能够享受编程的乐趣,创造自己的软件。易语言全称为”中文编程语言易”,是专门针对中文用户设计的编程语言。它提供了一套完整的编程语法,这些语法尽量模仿中文的语法结构,使得中文用户能够更加容易理解和掌握。易语言的代码可以使用中文关键词,同时也支持英文关键词。系统消息是由Windows系统本身产生的,例如键盘输入、鼠标移动等。

瘦下来

易语言中控系统源码设计与实现

本文还有配套的精品资源,点击获取 简介:该项目提供了易语言编写的中控系统源代码,一个旨在简化编程难度的编程语言,便于更广泛人群参与软件开发。项目内容包括多线程操作的学习和实践,这是提高程序并发性与效率的关键技术,特别适用于复杂控制系统的构建。文件名“QQ中控 - 副本.e”暗示了该项目可能与QQ应用程序的集成有关。此开源项目曾参与2018年第三届开源大赛,表明其技术含量和创...

青妍

易语言实现高效多线程IP扫描工具

尽管标准端口提供了基本的服务映射关系,但现实中大量服务运行于非标准端口(如将SSH部署在2222),或采用加密传输导致无法通过端口号判断具体服务。为此,必须引入“指纹库”机制,即通过记录服务返回的特征数据(如横幅Banner、响应头、特定字节序列)来进行精确识别。设计指纹库存储结构时,建议采用键值对形式组织,支持模糊匹配与正则表达式检索:.数据类型 服务指纹.成员 服务名, 文本型.成员 版本模式, 文本型 ' 支持正则表达式。

bsdr
评论 2
收藏 已收藏
分享
返回顶部
z1195224900
API 1,488 成员 23,270 内容