DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: webb123
今日帖子: 5
在线用户: 18
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 jierenwu (love_delphi) ★☆☆☆☆ -
盒子活跃会员
2003/8/13 14:26:15
标题:
用键盘隐藏窗体后怎样可以出用键盘按健显示? 浏览:2320
加入我的收藏
楼主: 用键盘隐藏窗体后怎样可以出用键盘按健显示?
----------------------------------------------
按此在新窗口浏览图片
http://www.jiesky.com
共同学习,共同努力!
作者:
男 boy (阿門) ★☆☆☆☆ -
盒子活跃会员
2003/8/13 21:10:10
1楼: 有試過但無法達到自己的理想

----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
作者:
男 boy (阿門) ★☆☆☆☆ -
盒子活跃会员
2003/8/13 23:26:30
3楼: 隐藏窗体后取得程式的 TITLE 以熱鍵顯示程式
參考看看===W98 D5===不知道好不好用呢?  

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ShellAPI, StdCtrls, Menus;

type
  TFormsmall = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ListBox1: TListBox;
    PopupMenu1: TPopupMenu;
    CtrlAltA1: TMenuItem;
    CtrlAltQ1: TMenuItem;
    Button1: TButton;
    Button2: TButton;
    Label4: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure CtrlAltA1Click(Sender: TObject);
    procedure CtrlAltQ1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);

  private
  procedure WMHotKey(var a: TWMHotKey); message WM_HOTKEY;
  Procedure ShowTitle(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Formsmall: TFormsmall;
  nid: TNotifyIconData;
  
implementation

{$R *.DFM}

Procedure SendtoWindow(s: string);
var
  wt:pchar;
  h: hwnd;
begin
  h := findWindow( nil, nil);
  GetWindowText(h,wt,255);
  setforegroundwindow(h);
end;

Procedure TFormsmall.ShowTitle(Sender: TObject);
var npad:HWND;
  szText: array[0..254] of char;
begin
 ListBox1.Items.clear;
 Npad := GetWindow(Handle, GW_OWNER{GW_HWNDFIRST});
  while Npad <> 0 do
    begin
      if (GetWindowText(Npad, @szText, 255) > 0) and
        IsWindowVisible(Npad) then
        ListBox1.Items.add(StrPas(@szText));
        Npad:= GetWindow(Npad, GW_HWNDNEXT);
    end;
end;

function MyCallback(Wnd: THandle; Param: integer):boolean; stdcall;
VAR
  npad:HWND;
begin
  Npad := FindWindow( nil,Pchar(Formsmall.Edit1.Text));
  if npad <> 0 then
  begin
    BringWindowToTop(Npad);
    Wnd:=Npad;
    Result := Wnd <> 0;
    if Result and IsWindowVisible(Wnd) then
      ShowWindow(Wnd,Param);
  end;
END;

procedure ShowAllWindows(Cmd: integer);
begin
  EnumWindows(@MyCallback, 1);
  //0 (最小化隱桌布) 1(最大化)  2(最小) 3(全銀幕隱桌布)4(最大化)
end;

function MyCallback0(Wnd: THandle; Param: integer):boolean; stdcall;
VAR
  npad:HWND;
begin
  Npad := FindWindow( nil,Pchar(Formsmall.Edit2.Text));
  if npad <> 0 then
  begin
    BringWindowToTop(Npad);
    Wnd:=Npad;
    Result := Wnd <> 0;
    if Result and IsWindowVisible(Wnd) then
      ShowWindow(Wnd,Param);
  end;
END;

procedure ShowAllWindows0(Cmd: integer);
begin
  EnumWindows(@MyCallback0, 1);
end;
procedure TFormsmall.WMHotKey(var a: TWMHotKey);
begin
  if a.HotKey = 0 then
  begin
    ShowAllWindows(SW_SHOWNORMAL) ;
  end;
  if a.HotKey = 1 then
  begin
    ShowAllWindows0(SW_SHOWNORMAL) ;
  end;
end;

procedure TFormsmall.FormCreate(Sender: TObject);
begin
  ShowTitle(Self);
  RegisterHotKey(Handle,0,MOD_CONTROL+MOD_ALT,ord('A'));
  RegisterHotKey(Handle,1,MOD_CONTROL+MOD_ALT,ord('Q'));
end;

procedure TFormsmall.CtrlAltA1Click(Sender: TObject);
var i : integer;
begin
  for I:=0 to ListBox1.Items.Count - 1 do
    if ListBox1.Selected[I] then
      Edit1.text:= ListBox1.Items[I];
end;

procedure TFormsmall.CtrlAltQ1Click(Sender: TObject);
var i : integer;
begin
  for I:=0 to ListBox1.Items.Count - 1 do
    if ListBox1.Selected[I] then
      Edit2.text:= ListBox1.Items[I];
end;

procedure TFormsmall.Button1Click(Sender: TObject);
begin
  ShowTitle(Self);
end;

procedure TFormsmall.Button2Click(Sender: TObject);
begin
  close;
end;

procedure TFormsmall.FormShow(Sender: TObject);
begin
  Application.HintColor := clRed;
  Application.HintPause := 200;
  Application.HintHidePause := 200000;
end;

end.
----------------------------------------------
Delphi開發◆伺服器架設◆免安裝APACHE,PHP,CGI Perl, MYSQL ★
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行943.3594毫秒 RSS