Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Привязать чужое приложение к своему [D7, XP]


Антон Шестаков ©   (2007-10-13 20:47:00) 

У меня такой вопрос - есть тоже небольшая программка, написанная на Delphi, только exe'шник, (файл проекта pas был удалён и не подлежит восстановлению), Могу ли я как нибудь использовать в своей программке, например сверху окно моей программы, снизу эта другая программка. Например, чтобы они как бы были привязыну друг к другу - я двигаю своё окно сверху, а вместе с ней двигается и нижняя, и при закрытии своего верхнего окна, закрывается и нижнее. Может ,как то это всё можно сделать?


Dib@zol   (2007-10-14 17:33:00) [1]

> GWT_STYLE

GW L_STYLE


TUser   (2007-10-14 15:59:00) [2]

SetWindowLong (...GWT_STYLE,  GetWindowLong (Handle) and not ws_)

Подробности, опять-таки, в справке.


Антон Шестаков   (2007-10-14 15:23:00) [3]

А можно у привязаного приложения borderstyle сделать bsnone?
Что надо написать?


Lacmus   (2007-10-13 22:13:00) [4]

Частичная реализация TUser ©   (13.10.07 20:53) [1]



unit Unit5;

interface

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

type
 TForm5 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   procedure WMWindowPosChanged(var aMessage: TMessage); message WM_WINDOWPOSCHANGED;
 end;

var
 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.FormCreate(Sender: TObject);
begin
 WinExec('osk.exe', SW_SHOWNOACTIVATE)
end;

procedure TForm5.WMWindowPosChanged(var aMessage: TMessage);
var
 hKeyboard: THandle;
begin
 inherited;
 hKeyboard := FindWindow('OSKMainClass', nil);
 if hKeyboard <> 0 then
   SetWindowPos(hKeyboard, 0, Left, Top + Height, 0, 0, SWP_NOSIZE or SWP_NOREPOSITION or SWP_NOACTIVATE)
end;

end.


TUser   (2007-10-13 21:56:00) [5]

> Если не  трудно, объясни поподробнее

Увы, объяснять трудно. Тебе надо посмотреть справку по этим функциям и, возможно, литературу. Рекомендую статью Тенцера о куках с сайта Анатолия Подгорецкого. Ну, а как сообщение в окошко отправить, - это везде написано. Переписывать все это на форум мне лениво, извини.


Ping   (2007-10-13 21:46:00) [6]

Антон Шестаков   (13.10.07 21:13) [2]

Найми программиста.


Антон Шестаков   (2007-10-13 21:13:00) [7]

Если не  трудно, объясни поподробнее, у меня вот есть приложение Arm.exe и вот как с ним и что?
Заранее благодарен!


TUser   (2007-10-13 20:53:00) [8]

Да, можно. См. SetWindowsHookEx - ставишь WH_GETMESSAGE и в мессадже меняешь координаты чужого окна на какие надо. + SetWindowPos чужому окну при перемещении своего.


Наверх

Титульная страница Поиск, карта сайта Написать письмо