首页 > 其他分享 >dephi winspy Demo

dephi winspy Demo

时间:2024-07-03 23:43:38浏览次数:10  
标签:end Sender Demo TObject hHandle dephi winspy sHandle procedure

在spy+中未找到这样的功能

   有个隐藏窗口的进程,相让窗口显示出来,虽然可以找到进程ID,然后再逐步找到主窗口句柄,但又没句柄发各种消息的软件。

   计得以前有个窗口精灵之类的,网上找了很多,要么没有此功能,甚至一个小功能都了注册,收费。

   得,自己直接整一个,根据进程ID找到进程的主窗口句柄,然后可以根据句柄,可以控制窗体的显示与隐藏。

  

 

  1 unit uFrmWin;
  2 
  3 interface
  4 
  5 uses
  6   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  7   System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  8   Vcl.StdCtrls, uWinUtils, Vcl.ExtCtrls;
  9 
 10 type
 11   TfrmWin = class(TForm)
 12     edtWinHandle: TEdit;
 13     lblWinHandle: TLabel;
 14     ckbHex: TCheckBox;
 15     btnShowWindow: TButton;
 16     btnHideWindow: TButton;
 17     edtTranHandle: TEdit;
 18     btnGetHandleByPID: TButton;
 19     edtPID: TEdit;
 20     Label1: TLabel;
 21     Panel1: TPanel;
 22     Panel2: TPanel;
 23     btnShowAndFront: TButton;
 24     procedure FormShow(Sender: TObject);
 25     procedure btnShowWindowClick(Sender: TObject);
 26     procedure edtWinHandleChange(Sender: TObject);
 27     procedure ckbHexClick(Sender: TObject);
 28     procedure btnHideWindowClick(Sender: TObject);
 29     procedure btnGetHandleByPIDClick(Sender: TObject);
 30     procedure btnShowAndFrontClick(Sender: TObject);
 31   private
 32     procedure DoTransfor();
 33   public
 34     { Public declarations }
 35   end;
 36 
 37 var
 38   frmWin: TfrmWin;
 39 
 40 implementation
 41 
 42 {$R *.dfm}
 43 
 44 procedure TfrmWin.btnHideWindowClick(Sender: TObject);
 45 var
 46   hHandle: THandle;
 47   sHandle: string;
 48 begin
 49   sHandle := edtTranHandle.Text;
 50   hHandle := StrToIntDef(sHandle, 0);
 51   ShowWindow(hHandle, SW_HIDE);
 52 end;
 53 
 54 procedure TfrmWin.btnShowAndFrontClick(Sender: TObject);
 55 var
 56   hHandle: THandle;
 57   sHandle: string;
 58 begin
 59   sHandle := edtTranHandle.Text;
 60   hHandle := StrToIntDef(sHandle, 0);
 61   BringToFrontByHandle(hHandle);
 62 end;
 63 
 64 procedure TfrmWin.btnShowWindowClick(Sender: TObject);
 65 var
 66   hHandle: THandle;
 67   sHandle: string;
 68 begin
 69   sHandle := edtTranHandle.Text;
 70   hHandle := StrToIntDef(sHandle, 0);
 71   ShowWindow(hHandle, SW_SHOW);
 72 end;
 73 
 74 procedure TfrmWin.btnGetHandleByPIDClick(Sender: TObject);
 75 var
 76   pid: Integer;
 77   hHandle:THandle;
 78 begin
 79   pid := StrToIntDef(edtPID.Text, 0);
 80   hHandle:=  GetHwndFromProcess(pid);
 81   ckbHex.Checked:=False;
 82   edtWinHandle.Text:=hHandle.ToString();
 83 end;
 84 
 85 procedure TfrmWin.ckbHexClick(Sender: TObject);
 86 begin
 87   DoTransfor();
 88 end;
 89 
 90 procedure TfrmWin.edtWinHandleChange(Sender: TObject);
 91 begin
 92   DoTransfor();
 93 end;
 94 
 95 procedure TfrmWin.DoTransfor;
 96 var
 97   sHandle: string;
 98 begin
 99   sHandle := edtWinHandle.Text;
100   if ckbHex.Checked then
101   begin
102     edtTranHandle.Text := StrToIntDef('$' + sHandle, 0).ToString();
103   end
104   else
105   begin
106     edtTranHandle.Text := StrToIntDef(sHandle, 0).ToString();
107   end;
108 end;
109 
110 procedure TfrmWin.FormShow(Sender: TObject);
111 begin
112   if edtWinHandle.CanFocus then
113     edtWinHandle.SetFocus;
114 end;
115 
116 end.

 

uWinUtils.pas单元摘要

 

DEMO程序下载

 

标签:end,Sender,Demo,TObject,hHandle,dephi,winspy,sHandle,procedure
From: https://www.cnblogs.com/bluejade/p/18282758

相关文章

  • Java 流式编程详解,Demo案例解析
    Java流式编程详解,Demo案例解析JavaStreams在很多年前就被引入了,但作为Java开发者,我们还没有完全掌握这个多功能工具的威力。在这里,你将发现一些有价值的技巧,可以作为参考并应用到你的下一个项目中。在下面的示例中,我们将使用以下类。@GetterclassCompany{privat......
  • 鸿蒙手机号&&验证码登录, 包含倒计时&&号码格式验证码格式校验, 还有 使用 Hyperlink
    1,先看看整体效果                          2,看格式校验效果                            3,代码直接CV  importpromptActionfrom'@ohos.promptA......
  • 前端视角下的Go语法学习:demo-crud 实现增删改查
    今日话题基于go+gin实现增删改查,仅仅只是提供接口不涉及数据库增删改查作者:云层上的光时间:2024年6月22日10时15分14秒主线任务一、项目创建1、创建demo-crud文件夹2、编辑器打开demo-crud项目,提示设置gosdk,这里我设置了1.22.43、声明go.mod文件go......
  • springboot实现异步调用demo
    springboot实现异步调用异步调用特点异步调用在开发程序中被广泛应用,在异步任务中,主线程不需要阻塞等待异步任务的完成,而是可以继续处理其他请求。异步调用的特点如下:非阻塞:主线程在调用异步方法后不会等待其完成,而是立即返回。后台处理:耗时操作在后台独立的线程中执行,不会......
  • demo
    #include<ButtonConstants.au3>#include<EditConstants.au3>#include<GUIConstantsEx.au3>#include<WindowsConstants.au3>#include<FileConstants.au3>#include<MsgBoxConstants.au3>#include<Array.au3>;创建GUI$......
  • Vue的Router?一个小demo秒了
    效果展示正文登录页<template><div><divclass="login"><h3>图书管理系统</h3><divclass="user"><span>账号:</span><inputtype="text"v-model="user"/&g......
  • 详细分析Js中的Object.entries()基本知识(附Demo)
    目录1.基本知识2.Demo1.基本知识用于将对象的可枚举属性转换为一个数组该数组包含对象自身的可枚举属性的键值对数组,每个键值对数组由两个元素组成:第一个元素是属性名,字符串(或符号)第二个元素是属性值,任何类型对象的属性默认是可枚举的,意味着它们可以在for...i......
  • FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
    不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ、微信为代表的即时通信工具,能够实时传输文本和图片。其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊。除了常见的图文即时通信,还有实时音视频通信,比如一对一的音频通话、一对一的视频通话等等,此时可采用WebR......
  • Linux平台I2C多字节数据、按页连续读写E2PROM Demo(AT24C16)
    1)Linux平台I2C多字节数据按页连续读写E2PROM之AT24C16小知识,分享给将要学习或者正在学习Linux平台I2C多字节按页连续读写E2PROM开发的同学。2)内容属于原创,若转载,请说明出处。3)提供相关问题有偿答疑和支持。我测试使用的是 E2PROM(AT24C16)芯片,其中内部地址是1010 外部的地......
  • SqlserverCDCcrudSourceSink mssql数据实时同步demo
    packageorg.hu.fk.datastream_connector;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.ververica.cdc.connectors.base.options.StartupOptions;importcom.ververica.cdc.connectors.shaded.org.apache.kafka.connect.data.Fie......