IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   Нужна "пряталка" окон... (http://www.imho.ws/showthread.php?t=50834)

Neronix 08.02.2004 21:07

Нужна "пряталка" окон...
 
Мужики, помогите!
Нужна прога, которая будет делать _только_ 2 функции: прятать и показывать окна...

ЗЫ Многофункциональные комбайны не предлагать... :biggrin:

KpNemo 08.02.2004 21:15

куда прятать куда показывать ?
типа hide и тайтл окна или что . ты подробней расскажи. я для тебя напишу скрипт для nncron и ты даже знаеть не будешь чего еще этот nncron делает :)
токо давай подробней что и куда оно должно прятать.

Добавлено через 1 минуту:
Neronix
кста это не в этот раздел ты запостил
тебе надо в раздел программ делать пост.
предупреждаю устно потом буду ставить кубики под ником.

Neronix 08.02.2004 21:19

KpNemo
Прошу прощения за не тот раздел... просто очень нужна прога которая по хот кею спрячет а затем покажет окно... мне надо для человека который ни бум-бум в компах и не сможет настроить сложную прогу + у него на работе ограниченная учетная запись :(

Добавлено через 1 минуту:
KpNemo
а про nncron я знаю :)

Shanker 09.02.2004 19:50

Неуверен, но, может прога ClickZap подойдёт...

Neronix 09.02.2004 23:51

Shanker
да нет... это к сожалению не то :(

Ghost 10.02.2004 15:44

Напиши сам на Delphi. Сперва получи список handle'ов окон, а потом с помощью функций API посылай им команды HIDE/SHOW. Для получения списка:
Код:

var
  Wnd: hWnd;
  buff: array [0..127] of char;
  wCap: string;
begin
  Wnd := GetWindow(Handle, gw_HWndFirst);
  while Wnd <> 0 do
    begin
      if (Wnd <> Application.Handle) and
          (GetWindow(Wnd, gw_Owner) = 0) and
          (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) then
        begin
          wCap := StrPas(buff);
          {здесь получено handle окна и его имя в переменных Wnd и wCap соответственно}
        end;
      Wnd := GetWindow(Wnd, gw_hWndNext);
    end;
end;

Добавлено через 1 час и 32 минуты:
Вот тебе проверенный код (компоненты располагай на форме сам):
Код:

unit untHS;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ValEdit, ExtCtrls, StdCtrls, Buttons;

type
  TfrmHS = class(TForm)
    vleHS: TValueListEditor;
    bitRefresh: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure vleHSSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure vleHSClick(Sender: TObject);
    procedure bitRefreshClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmHS: TfrmHS;

implementation

{$R *.dfm}

var
  SelectedWnd: integer;

procedure TfrmHS.FormCreate(Sender: TObject);
begin
  SelectedWnd := 0;
end;

procedure TfrmHS.vleHSSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
  SelectedWnd := ARow;
end;

procedure TfrmHS.vleHSClick(Sender: TObject);
var
  Wnd: hWnd;
begin
  Wnd := 0;
  if vleHS.Cells[0, SelectedWnd] <> '' then
    Wnd := StrToInt(vleHS.Cells[0, SelectedWnd]);
  if Wnd = 0 then Exit;
  if not IsWindowVisible(Wnd) then ShowWindow(Wnd, SW_SHOWNOACTIVATE)
                              else ShowWindow(Wnd, SW_HIDE);
  vleHS.Repaint;
  bitRefreshClick(Sender);
end;

procedure TfrmHS.bitRefreshClick(Sender: TObject);
var
  Wnd: hWnd;
  buff: array [0..127] of char;
  addStr: string;
begin
  vleHS.Strings.Clear;
  Wnd := GetWindow(Handle, gw_HWndFirst);
  while Wnd <> 0 do begin
    if (Wnd <> Application.Handle) and
      (GetWindow(Wnd, gw_Owner) = 0) and
      (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) then begin
      if IsWindowVisible(Wnd) then addStr := '+' else addStr := '--';
      addStr := IntToStr(Wnd) + '=[' + addStr + '] ' + StrPas(buff);
      vleHS.Strings.Add (addStr);
    end;
    Wnd := GetWindow(Wnd, gw_hWndNext);
  end;
end;

end.


SonofSun 10.02.2004 17:42

cooldesk - твое решение
 
У меня была аналогичная проблема - но окна надо было скрывать от начальника
ПРограмма cooldesk
Лежит почти везде - но без кряка - кряк нашел сам очень быстро
Я тянул с ufa.com.ua

Ghost 10.02.2004 17:47

Вложений: 1
В догонку - вот архивчик с исходниками и exe-шником.

Neronix 10.02.2004 20:58

Ghost
Огромное тебе человеческое спасибо :yees:
Даже не знаю как тебя от благодарить...
С меня причитается :)

Добавлено через 7 минут:
SonofSun
CoolDesk - это разве не Virtual Desktop Manager? :confused: :confused: :confused:


Часовой пояс GMT +4, время: 11:34.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.