sendmsg返回值_[求助]Sendmessage函数返回值
各位老师好,请教一个问题,我有时候在编程的时候需要处理一些通过消息传遍过来的数据,这些数据每次里面有字符串,要是数字还好处理字符串就比较难处理,
我收集了5种消息传递字符串的方法,结果用着都不是让我很满意
方法1:
发送方:
wParam = GlobalAddAtom('string...')
PostMessage(HWnd, WM_XYZ, wParam, 0)
接收方:
str = GlobalGetAtomName(wParam)
GlobalDeleteAtom(wParam)
方法2:
var s:string
begin
setlength(s,100);
s:='1111111';
postmessage(frm_handle,wm_user+100,integer(@s[1]),0);
方法3:
sTemp := Pchar(sData);
SendMessage(wHandle,WM_SETTEXT,0,Integer(sTemp));
方法4:
1.
TCommInfo = array[0..50] of Char;
szCommInfo : TCommInfo;
SendMessage(FormHandle, WM_COMMINFOMSG, 0, Integer(PChar(CommInfo)));
2.
CommInfo : String;
SendMessage(FormHandle, WM_COMMINFOMSG, 0, Integer(PChar(CommInfo)));
方法5:
单个字符传递
SendMessage(whwnd,WM_CHAR ,Integer(PChar(S)),0);
上面是我收集的方法,
我又仔细阅读了SendMessage 的函数原型, 知道他有一个返回值
LRESULT ,我现在想实现通过SENDMESSAGE函数的返回值来传递我的参数
LRESULT SendMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
MSDN里面的解释,有个朋友用中文翻译了一下
/*
这个返回值就是由相应的响应消息函数的返回值。
例如:
有自定义消息:WM_USER
其响应函数:
LRESULT Cexample::OnUser(WPARAM wParam, LPARAM lParam)
{
//….
return 0;
}
则用SendMessage(hWnd, WM_USER, wParam, lParam);消息,其返回值应该为 0.
那么我在DELPHI里面写了一个窗口子类化的函数,
//消息处理函数
function NewWndProc(WindowHandle : hWnd; Msg : LongInt; ParamW : WParam; ParamL : LParam) : LongInt ; stdcall;
begin
If Msg = autolg.WM_KEY_FLAG Then //如果发送的是我的自定义消息则进入IF
begin
if ParamW=129990 then
begin
//上面的解释说是整个函数的返回值是Sendmessage
//函数的返回值,那么我这里用
result:=9999; //应该返回9999,可是函数返回
//的是0,请问要求得Sendmessage返回值是在这里吗,
//未我而来[编程群10307557] 提问
end;
end;
这个是我写的要求返回值的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
msgType:integer;
msgN:integer;
xx:longint;
hwnd:thandle;
begin
msgType:= RegisterWindowMessage('FISH');
hwnd:=findwindow(nil,'冰淇淋');
xx:=Sendmessage(hwnd,msgtype,1122,0);
edit3.Text:=inttostr(xx); //这里用于显示
end;
sendmsg返回值_[求助]Sendmessage函数返回值相关推荐
- python怎么返回布尔值_尝试从函数返回布尔值
您需要将"return incomp1==True"替换为"return True".然后像这样调用door1函数"incomp1=door1(inc ...
- (14年)2.写一个函数int func(int n)其返回值是n的逆序整数,例如n=123函数返回321.n=72839,函数返回93827
#include <stdio.h> #include <stdlib.h> /*写一个函数int func(int n)其返回值是n的逆序整数 例如n=123.函数返回321 ...
- python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...
建议不是你不应该使用True,False或None.这只是你不应该使用如果x == True. 如果x == True是愚蠢的,因为==只是一个二进制运算符!它的返回值为True或False,取决于它 ...
- php7 返回值,7.6.4 函数返回值
### 7.6.4 函数返回值 调用内部函数时其返回值指针作为参数传入,这个参数为`zval *return_value`,如果函数有返回值直接设置此指针即可,需要特别注意的是设置返回值时需要增加其引 ...
- python return返回值_Python return语句 函数返回值
return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天就来仔细的讲解一下. python 函数返回值 ...
- linux如何拿到文件的返回值,linux 下read函数返回值分析
原文出处:http://blog.chinaunix.net/space.php?uid=20558494&do=blog&id=2803003 read函数是Linux下不带缓存的文 ...
- 函数的返回值,C语言函数返回值详解
看旋转编码器程序的时候,遇见了一些关于函数返回值的函数,感觉很懵逼,就百度了一下C语言函数调用,感觉写的挺好的, 原链接:http://c.biancheng.net/view/204.html 通常 ...
- linux获取命令的返回值,Shell $?:获取函数返回值或者上一个命令的退出状态
$?是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值. 所谓退出状态,就是上一个命令执行后的返回结果.退出状态是一个数字,一般情况下,大部分命令执行成功会返回0,失败返回1,这和C ...
- python函数默认返回值_python笔记20_函数返回值
主要内容: 小目标:掌握函数返回值 主要内容:return语句,返回多个参数 如果看完这篇文章,你还是弄不明白函数返回值: 你来找我,我保证不打你,我给你发100的大红包. 1. 函数默认返回值 Py ...
最新文章
- swift_002(Swift的String的基本使用)
- 阶段1 语言基础+高级_1-2 -面向对象和封装_18定义一个标准的类
- java中XPATH操作xml,非常便捷
- python或anaconda下安装opencv提示Error:No matching distribution found for opencv
- logistic回归 简介_从零实现机器学习算法(四)Logistic回归
- sql找出2000-3000年中的闰年。_跟飞哥学编程:SQL入门-4-查询和条件
- 【Python】安装IPython和IPthon Notebook
- ThreadLocal 遇上线程池的问题及解决办法
- 《算法图解》第八章之贪婪算法
- iOS 深度跳转(scheme、universal link)
- python检查验证_Python:在时间、日期之间进行检查。验证日期
- 大三期末网页设计作业 以旅游景点风景主题介绍网站设计与实现 (广东名胜古迹)
- 昌德科技冲刺上市:计划募资约12亿元,蒋卫和为实控人
- Win10 WSL2 linux 子系统安装Docker
- 智能手持终端CPU选型报告
- SPSS—回归—多元线性回归结果分析(二)
- 免费开源动画制作软件推荐(新手必备)
- 【mba项目管理论文】S 公司项目管理绩效评价现状与问题(节选)
- python找不到scripts文件夹_快速解决安装python没有scripts文件夹的问题
- VMware 15 出现的EFI VMware Virtual SCSI Hard Drive(0,0) …. unsuccessful、Directory “EZBOOT“ not found问题