| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 853 人关注过本帖
标题:sendmessage的问题
取消只看楼主 加入收藏
singlion
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-16
收藏
 问题点数:0 回复次数:1 
sendmessage的问题
我想使用sendmessage往另一个程序中的编辑框中输入内容
模块中
Public Const WM_SETTEXT = 12
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)

窗体中
Dim i As Long
Dim s As String
s = "Hello"
i = SendMessage(asktao_hwnd, WM_SETTEXT, 0, ByVal s)
'asktao_hwnd是在之前获得的游戏窗口的句柄,已经证明有效(使用FlashWindow时能看到效果)
但是执行上述代码时出现错误:

实时错误49
DLL调用约定错误
搜索更多相关主题的帖子: sendmessage 
2008-07-09 17:37
singlion
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-6-16
收藏
得分:0 
少了as long是复制的疏忽,我程序中并没少
建议楼上各位加上as long试试
在微软网站上查到一个帖子,建议各位看看,虽然是极其翻译,但是还是差不多http://support.

字符串实际上是由两部分组成,一个指针和一个Unicode字符数组;最后一个参数是lParam As Any,如果要传递给它一个long型肯定没问题,但是要传递字符串的话,它获得的只能是一个指针(即一个long型的数),所以会发生错误,解决的办法是在前面加一个byval

我的博客:hi.baidu.com/liguocan or: http://singlion.blog.
2008-07-10 12:22
快速回复:sendmessage的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011950 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved