C#submitHandler怎么传截串的数据啊
在C#中使用SendMessage,原本以为很简单的事,却处处碰壁。
在定义消息时忘记了用户可定义消息的边界值,在网上一阵疯找后来发现是const int WM_USER = 0x400。接着是SendMessage的lParam类型不能决定(默认是IntPtr),我想发送字符串信息,就将它定为了string型,然后通过重写DefWndProc接收自定义消息。问题出现:(string) message.lParam提示不能转换,然后使用另一种方法:(string)message.GetLParam(typeof(string)),依然有错,提示应该重载string的构造函数建立string的无参构造函数(够狠)。
后来在网上见到一篇文章“C#用WM_COPYDATA消息来实现两个进程之间传递数据”,经提示想到一方法:用结构体封装string字段,然后传结构体就可以了(结构体有自己的无参构造函数--其实原本想自己写个无参构造函数,却发现在vs2005下无法编译通过,提示不能够创建结构体的无参构造函数)。这样就可以在DefWndProc中通过(tagStructStr)message.GetLParam(typeof(tagStructStr)) 将LParam转换为结构体类型,然后取出它的字符串字段就实现了string的传送了。
事还没完,一次偶尔碰到有人说可以使用Marshal转换string。自己查了下MSDN于是一个传送string的另一方法产生:SendMessage仍然是传string,在DefWndProc中可以用 string str = Marshal.PtrToStringAnsi(m.LParam) 将IntPtr类型的LParam转换为string类型,其实还可以使用 IntPtr p = Marshal.StringToHGlobalAnsi(s) 将string类型转换为IntPtr类型。
进一步深究,发现这其中还有内情:SendMessage使系统API,IntPtr属于非托管类型,而我们在C#中使用的string等类型是托管类型,使用Marshal转换其实真正意义是实现了托管与非托管类型的转换。看来在C#与非托管的C++/C进行交互传递数据时,要少不了Marshal的身影了。
submit什么意思
vt. 使服从;使屈服;提交;递交;认为
vi. 屈从
一、读音:英 [səb’mɪt];美 [səb’mɪt]
二、例句:
We will submit ourselves to the court’s judgement.
我们服从法庭的判决。
三、词汇用法:
1、submit的基本意思是“服从”,指顺从某人的意愿或权威,使自身无法反抗或失去了反抗的念头,强调在抵抗了另一人的意志后确认反抗不会奏效而绝对的服从。
2、submit还可表示“提出”“认为”,作“认为”解时是法律术语。
3、submit可用作及物动词,也可用作不及物动词。用作及物动词时,后接名词、代词或that从句作宾语。可用于被动结构。
扩展资料
近义词:surrender
一、意思:
v. 投降;屈服;放弃
n. 投降;屈服;放弃
二、读音:英 [sə’rendə(r)];美 [sə’rendər]
三、例句:
It was shameful of them to surrender.
他们投降是可耻的。
四、词汇用法:
1、surrender的基本意思是“投降”,指因在战争中失利而被迫向对方屈服或让步或处于他人的统治之下,多指无条件地投降。还可指“放弃,抛弃”,即把属于自己的东西呈送给他人。本词既强调外部压力,又强调抗争之后的屈服。-submithandler
2、surrender可用作及物动词,也可用作不及物动词。用作及物动词时,后接名词或代词作宾语,作“交出,放弃”解时,还可接双宾语,其间接宾语可转化为介词to的宾语。
英语submit和commit区别是什么
这两个单词的意思不一样的,尽管它们的拼写有相似的地方。submit,动词,意为“使服从;主张;呈递;提交;服从,顺从”。commit,及物动词,意为“犯罪,做错事;把...交托给;指派…作战;使…承担义务-submit
submit意思是:
读音:英 [səb’mɪt] 美 [səb’mɪt]
1、vt. 使服从;主张;呈递。
2、vi. 提交;服从。
变形:
1、比较级 submitted
2、最高级 submitted
双语例句:
1、You still need to submit the form, but to where?
您仍需要提交表单,但是提交到何处?
2、They submit only the data model or a portion thereof。
它们只提交数据模型或者其中的一部分。
3、Sure, like too many of us, you can wait until midnight on the last day to submit.
当然,像我们中的许多人一样,你也可以到最后一天的午夜时分再提交。
commit的意思是:
英 [kəˈmɪt] 美 [kəˈmɪt]
v.犯罪;自杀;做出(错或非法的事);犯(罪或错等);承诺,保证(做某事、遵守协议或遵从安排等)
变形:
第三人称单数: commits
现在分词: committing
过去式: committed
过去分词: committed
双语例句:
1.He was not aware that he had committed an offence.
他没有意识到自己犯罪了。
2.Mr Steele has committed no crime and poses no danger to the public
斯蒂尔先生没有犯罪,并未对公众构成危害。
3.He committed the crime under the influence of drugs.
他是在吸毒后犯罪的。