delphi程序向另一个可执行程序发消息
来源:互联网 发布:音乐播放 知乎 编辑:程序博客网 时间:2024/05/22 06:24
var
hCurrentWindow: THandle;
cnt: Integer;
WindowTitle: array [0 .. 254] of Char;
begin
Result := INVALID_HANDLE_VALUE; // 返回值预设为无效的句柄
hCurrentWindow := GetForegroundWindow; // 找出当前操作系统中活动的第一个窗口
cnt := 1; // 计数器置初值=1
while True do
begin
if GetWindowText(hCurrentWindow, @WindowTitle, 255) > 0 then // 如果找到窗口的标题
if StrPos(WindowTitle, PChar(WindowText)) <> nil then // 如果找到的正是目标窗口则
break; // 跳出循环
hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT); // 找下一窗口
// 直到找到或超过一定的次数后退出
if hCurrentWindow = 0 then
begin
// 如果顺序查一遍后未找到目标窗口,则重新从头开始查找,
hCurrentWindow := GetWindow(Application.Handle, GW_HWNDFIRST); // 找到第一个窗口
inc(cnt); // 循环计数器加1
if cnt > 10000 then
begin
// 如果超出10000次则(在此10000次循环过程中等待windows建立完//目标窗口,如在此过程中找到则成功退出,否则10000次后(约30秒至1分钟)仍未找到,提示用户是否继续查找)
if MessageDlg('找不到运行中的' + WindowText + '窗口,可能该系统已损坏!是否继续运行?',
mtConfirmation, [mbOK, mbCancel], 0) = mrOK then
begin
// 请用户选择是否继续查找//如用户选择继续查找,则
cnt := 1; // 循环计数器重置初值=1
Continue; // 开始新一轮查找
end
else
exit; // 如用户放弃查找,则退出
end;
end;
end;
Result := hCurrentWindow; // 返回值为找到的窗口句柄
end;
procedure TForm1.Button1Click(sender:TObject);
var
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
var
begin
end;
Procedure TForm1.Button1Click(Sender: TObject);
Var
Begin
End;
- delphi程序向另一个可执行程序发消息
- 在delphi中用消息来向另一个程序发送消息
- 程序模拟键盘事件,向系统发消息
- MFC一个程序的窗体给另一个程序的窗体发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- <转>VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- VC++实现Vista和Win7系统低权限程序向高权限程序发消息
- BB10 点对点的向另一个NFC设备发NDEF消息
- Visual C++启动另一个可执行程序的方案
- 调用linux_shell、另一个可执行程序调用exec函数
- Java中的多线程编程相关基础知识
- Charts框架
- 这个问题不会答,跳槽怎么成?
- tjut 3792
- linux下用户使用sql*plus的环境配置
- delphi程序向另一个可执行程序发消息
- 源码库网站
- Yii中引入js和css文件
- class命名
- 音视频封装格式、编码格式知识
- “找不到或无法加载主类”错误的原因
- oracle中scott不可登录的解决办法
- spring boot(7) 配置外部tomcat(1)
- 关于m3u8知识点