您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 有谁知道老板键的效果是怎么实现的??

有谁知道老板键的效果是怎么实现的??

来源:网络整理     时间:2016/8/26 2:14:02     关键词:

关于网友提出的“ 有谁知道老板键的效果是怎么实现的??”问题疑问,本网通过在网上对“ 有谁知道老板键的效果是怎么实现的??”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 有谁知道老板键的效果是怎么实现的??
描述:

前几天看见我朋友在用3721上网助手的老板键,ALT+空格一按,所有IE窗口都没了,再一按又都出来了
好玩的不的了
回去想了半天也不得解,就前来问各路高手如何实现
小弟在此先谢谢了!


解决方案1:

Hook
or
RegisterHotKey
EnumWindow
ShowWindow(hWnd,SW_HIDE)

解决方案2:

把键盘钩子做在DLL里面
搞个全局的键盘钩子
就不用让Form获得焦点了

解决方案3:

有一个很好用的方法,先运行一个透明的窗体,然后通过OnKeyDown实现,代码如下:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    procedure FormActivate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
const
  WS_EX_LAYERED = $80000;
  AC_SRC_OVER = $0;
  AC_SRC_ALPHA = $1;
  AC_SRC_NO_PREMULT_ALPHA = $1;
  AC_SRC_NO_ALPHA = $2;
  AC_DST_NO_PREMULT_ALPHA = $10;
  AC_DST_NO_ALPHA = $20;
  LWA_COLORKEY = $1;
  LWA_ALPHA = $2;
  ULW_COLORKEY = $1;
  ULW_ALPHA = $2  ;
  ULW_OPAQUE = $4 ;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
var l:longint;
begin
  l:=getWindowLong(Handle, GWL_EXSTYLE);
  l := l Or WS_EX_LAYERED;
  SetWindowLong (handle, GWL_EXSTYLE, l);
  SetLayeredWindowAttributes (handle, 600, 100, LWA_ALPHA);
  //使窗体透明的API,第三的参数100是控制透明度的,范围是0..255 ;
  ShowWindow(application.Handle,SW_HIDE);
  //在任务栏中隐藏该窗体的API ;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  form1.Hide;
  form1.Show;  //保持Form1一直有焦点
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var l:longint;
begin
  if key=vk_Insert then
  begin
    l:=getWindowLong(Handle, GWL_EXSTYLE);
    l := l Or WS_EX_LAYERED;
    SetWindowLong (handle, GWL_EXSTYLE, l);
    SetLayeredWindowAttributes (handle, 600, 255, LWA_ALPHA);
    timer1.Enabled:=false;
    form1.WindowState:=wsMaximized;
    image1.Visible:=true;
    //按下Insert键后,使窗体最大化,并且调出已截好的图片 ;
  end;
end;
end.

解决方案4:

enumwindow而已 这种东西 没什么意义 无聊! 偶照样 玩 CS 老板能把偶怎样 他敢杀偶不成

解决方案5:

用API RegisterHotKey 注册一个快捷键即可。
BOOL RegisterHotKey(
  HWND hWnd,         // handle to window
  int id,            // hot key identifier
  UINT fsModifiers,  // key-modifier options
  UINT vk            // virtual-key code
);
可参考 msdn。

解决方案6:

注册热键,然后在响应事件里面枚举IE的窗口(如果想隐藏IE的话),找到后
发消息,SW_Hide给对放就行了。


以上介绍了“ 有谁知道老板键的效果是怎么实现的??”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3594800.html

相关图片

相关文章