Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Привязать чужое приложение к своему   Найти похожие ветки 

 
Антон Шестаков   (2007-10-13 20:47) [0]

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


 
TUser ©   (2007-10-13 20:53) [1]

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


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

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


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

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

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


 
TUser ©   (2007-10-13 21:56) [4]

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

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


 
Lacmus ©   (2007-10-13 22:13) [5]

Частичная реализация 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.



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

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


 
TUser ©   (2007-10-14 15:59) [7]

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

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


 
Dib@zol ©   (2007-10-14 17:33) [8]

> GWT_STYLE

GWL_STYLE



Страницы: 1 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
2-1192167883
kyn66
2007-10-12 09:44
2007.11.04
TRxDBLookupCombo вместе с MSSQL


2-1192085656
__ivan
2007-10-11 10:54
2007.11.04
URL Encode


15-1191430223
Delphi User
2007-10-03 20:50
2007.11.04
EFS


11-1175002147
ElectriC
2007-03-27 17:29
2007.11.04
Липкие окна


15-1190722979
Галинка
2007-09-25 16:22
2007.11.04
Поломался Eclipse