delphi 具难的问题 请大侠支招 500分献上

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:09:31
var
Handle: HWND;//Handle句柄
i : integer;
begin
if memo1.Lines.Count > 0 then
for i := 0 to memo1.Lines.Count do
Handle:= FindWindow(nil,PChar(memo1.Lines[i]));
if Handle <> 0 then
PostMessage(Handle,WM_Close,0,0);
就是根据窗口标题字符关闭 设定好的字符都在memo或ListView里面
timer检测到以后就关闭
=============================================
比如memo的内容为 "黑客"
比如另一个程序的完整标题为 "黑客教你攻击网站"
=============================================
根据关键字关闭
继续等待代码的出现

简单的话你可以做成shell扩展

复杂 的可以做成系统服务 ,

你搜类似的小例子在盒子,然后把上面代码加上去就差不多了

用enumwindows 函数,枚举所有窗口,然后取得窗口句柄后,GetWindowText获得标题,得到标题后用Pos(你的关键字,窗体标题)>0,然后PostMessage吧。
个人理解。

东西弄出来了 邮箱多少?
我发过去,我现在在公司,没有你昨天留的邮箱了。

这个没弄过

你的判断是精确的所以没有办法实现,要改成模糊的判断就可以了。

简单的话你可以做成shell扩展

复杂 的可以做成系统服务 ,

你搜类似的小例子在盒子,然后把上面代码加上去就差不多了
你的判断是精确的所以没有办法实现,要改成模糊的判断就可以了。 用enumwindows 函数,枚举所有窗口,然后取得窗口句柄后,GetWindowText获得标题,得到标题后用Pos(你的关键字,窗体标题)>0,然后PostMessage吧。
个人理解。

不断循环遍历系统所有的窗口,然后Pos每一个窗口的标题栏。
遍历可以用GetWindow来实现。