社区
Windows SDK/API
帖子详情
如何给不是激活窗口发送字符 用Sendmessage 解决可以加分
xflcx
2003-04-15 10:06:49
我想给其他的程序发送 键盘鼠标消息 完成自动输入 但是不想让被控制的程序为当前活动窗体
...全文
366
11
打赏
收藏
如何给不是激活窗口发送字符 用Sendmessage 解决可以加分
我想给其他的程序发送 键盘鼠标消息 完成自动输入 但是不想让被控制的程序为当前活动窗体
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coolkenmester
2003-04-21
打赏
举报
回复
hwnd := FindWindow(类名,标题);
SendMessage(hwnd,WM_KeyDown,0,0);
xflcx
2003-04-21
打赏
举报
回复
可能是我没有说清楚 被控制的窗体是未知的 不是特定的 不是自己篇写的
要让他响应键盘事件 但是不能把他激活为当前窗体 它的窗体句柄是可以得到的
wjlsmail
2003-04-19
打赏
举报
回复
只要去的目标窗体句柄就可以
H := FindWindow(PChar('ClassName'),PChar('Text')) ;
SendMessage(h,WM_KeyDown,0,VK_F1) ; // 目标窗体要处理 KeyDown 事件
atuchina
2003-04-19
打赏
举报
回复
发送一些数据,不是字符如下,要多少数据(字符)就可以多少
(我也是刚做完一个发送东东的PRG)
以下在工程文件中
var
s : pchar;
buf:tagCOPYDATASTRUCT;
hnd:HWND;
begin
Application.Initialize;
application.Title := 'test';
try
hnd := CreateMutex(nil, True, 'UnifaceTools');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
GetMem(s,100);
buf.lpData :=s;
buf.cbData:=100;
buf.dwData :=100;
strpcopy(s, ParamStr(1));
SendMessage(findwindow(nil,'Uniface Porgram Tools'), $004A, 0, integer(@buf));
freemem(s);
end
else
begin
Application.Title := 'UnifaceTools';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end;
finally
if hnd <> 0 then ReleaseMutex(hnd);
end;
接收部分:
procedure SetMyWindow(var msg : TMessage); message WM_COPYDATA;
。。。。。
procedure TMainForm.SetMyWindow(var msg: TMessage);
var
P:^tagCOPYDATASTRUCT;
FileName :String;
begin
p:=Pointer(Msg.lParam);
//ShowMessage(strpas(p.lpData));
FileName := strpas(p.lpData);
end;
WorldCreater
2003-04-18
打赏
举报
回复
“我想给其他的程序发送 键盘鼠标消息 完成自动输入 但是不想让被控制的程序为当前活动窗体”
这些都不难。只要你找到你要发送消息的目标窗体的句柄就成
naughtyboy
2003-04-18
打赏
举报
回复
SendMessage(h,wm_char,ord('a'),0);
PostMessage(h,wm_char,ord('a'),0);
向句柄为h的窗口发送字符'a'
wyhhc
2003-04-18
打赏
举报
回复
Hd是你要控制的控件句柄
ParentHd是你要控制的窗体句柄
Handle是你当前的句柄
wyhhc
2003-04-18
打赏
举报
回复
我的程序:
Var
ParentHd,Hd:LongInt;
begin
Hd:=LongInt(StrToInt(TListView(PopupMenu1.PopupComponent).Selected.Caption));
ParentHd:=LongInt(StrToInt(ListView2.Hint));
SetForegroundWindow(ParentHd);
PostMessage(Hd,WM_LBUTTONDOWN,0,0);
PostMessage(Hd,WM_LBUTTONUP,0,0);
SetForegroundWindow(Handle);
end;
shadowfish
2003-04-15
打赏
举报
回复
GZ
帮你up……
Spectrum
2003-04-15
打赏
举报
回复
没有用过,帮不了你
xflcx
2003-04-15
打赏
举报
回复
来人阿
易语言实现超级编辑框与超级列表框联动输入实战
除了标准消息外,开发者还可以...常量 WM_REFRESH_SUGGESTIONS = 1024//
发送
消息
SendMessage
(SuperListBox1.取
窗口
句柄(), WM_REFRESH_SUGGESTIONS, 0, 0)// 在 SuperListBox 中处理.子程序 SuperListBox1_收到消息。
Source Insight完美显示UTF8中文插件配置与实战指南
在现代软件开发过程中,多语言编码环境的复杂性日益增加,尤其是在处理中文等非ASCII
字符
时,文本编辑器和代码阅读工具对
字符
编码的支持能力显得尤为重要。Source Insight作为一款广泛应用于源码分析与浏览的集成...
Listary文件搜索神器:高效全局检索与智能管理实战工具
对于.docx.xlsx等复合文档,Listary通过解析其内部XML结构获取关键信息:<w:p><w:r>项目进度报告 - Q2 2024</w:t></w:r>提取内容包括:- 文档标题- 作者姓名- 最后修改时间- 关键词摘要(前100
字符
)这些信息以简洁...
Delphi的笔记整理(一)
这几天清理资料,把以前学Delphi时的...1、触发器的使用。 源数据库: 名称:info 字段:idd、namee、age、sex、city、department、position 目标数据库: 名称:leave 字段:idd、namee、type 1、 修改操
Unity经典项目实战:SpaceShooter太空射击游戏开发教程
问题现象
解决
方案工具验证方式每帧 GC Alloc 上升避免
字符
串拼接、闭包捕获CPU 时间集中在 Find缓存引用Instantiate 导致卡顿使用对象池事件未注销导致内存泄漏显式取消订阅Deep Profile + Weak Reference 检测遵循...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章