Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2009, 16:27   #11
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Думаю автору нужно что-то типа такого:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.FormCreate(Sender: TObject);
 var h:HWND;
begin
 h:=FindWindow('Shell_TrayWnd','');
 h:=FindWindowEx(h,0,'ReBarWindow32','');
 h:=FindWindowEx(h,0,'ToolbarWindow32','Quick Launch');
 windows.SetParent(Handle,h);
 Left:=0; top:=0;
end;

end.
P.S. Win XP
Во,вроде что-то похожее.Спасибо.Дальше сам попробую))
RamireZ вне форума Ответить с цитированием
Старый 27.07.2009, 16:58   #12
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Блин, при этом панель задач не будет знать, что появилось новое окно, кнопки и другие панели по прежнему будут рисоваться под/над таким окном.

Реализовано это всё в более-менее человеческом виде в JEDI VCL (удивительно), модуль JvBandObject.pas

--

Короче, устанавливай JVCL (http://sourceforge.net/projects/jvcl...0.zip/download), появится вот такой мастер


Зарегистрировать библиотеку regsvr32 project1.dll, убрать regsvr32 -u project1.dll
После загрузки файл лочится, чтоб перекомпилировать придётся перезапускать explorer
пыщь

Последний раз редактировалось JTG; 27.07.2009 в 18:25.
JTG вне форума Ответить с цитированием
Старый 27.07.2009, 23:00   #13
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
Печаль

Цитата:
Сообщение от JTG Посмотреть сообщение
Блин, при этом панель задач не будет знать, что появилось новое окно, кнопки и другие панели по прежнему будут рисоваться под/над таким окном.

Реализовано это всё в более-менее человеческом виде в JEDI VCL (удивительно), модуль JvBandObject.pas

--

Короче, устанавливай JVCL (http://sourceforge.net/projects/jvcl...0.zip/download), появится вот такой мастер

Зарегистрировать библиотеку regsvr32 project1.dll, убрать regsvr32 -u project1.dll
После загрузки файл лочится, чтоб перекомпилировать придётся перезапускать explorer
Спасибо,ДУмаю это и нужно было,но че то у меня не воркает.Делал так
1)Скачал по ссылке
2)Установил JVC,затем JVCL
3)Выполнил команду в Делфи File->New->Wizard-Band Object Dll Wizard
4)Заполнил поля как на скрине(на всякий случай)
5)Появилась форма MyBandForm,поставил на нее кнопку,нажал F9
Затем вылезло окно с сообщением
"Cannot debug project unless a host application is defined. Use the Run|Parameters... dialog box"
Что не так сделал?
(Можно ваш исходник со скрина скачать как то?)

Последний раз редактировалось RamireZ; 28.07.2009 в 00:38.
RamireZ вне форума Ответить с цитированием
Старый 28.07.2009, 00:38   #14
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Всё верно, получилась COM-dll. Набери в коммандной строке regsvr32 путь_к_dll, она зарегистрируется в системе и появится в контекстном меню панели задач
пыщь
JTG вне форума Ответить с цитированием
Старый 28.07.2009, 00:51   #15
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Всё верно, получилась COM-dll. Набери в коммандной строке regsvr32 путь_к_dll, она зарегистрируется в системе и появится в контекстном меню панели задач
ага,вроде пошло,еще раз спасибо.Посмотрим на чем дальше застряну...
Но вот только путь к библиотеке regsvr32 не принимает, пришлось скопировать project1.dll в C:\Windows\system32.Может можно что нибудь с этим поделать?
И еще,у вас на скрине приложение выходит в месте перед языковой панелью,а у меня-между языковой панелью и треем,почему интересно?к тому же,в настройках панели инструментов теперь так и висит Hello World,как его убрать то оттуда?

Последний раз редактировалось RamireZ; 28.07.2009 в 01:03.
RamireZ вне форума Ответить с цитированием
Старый 28.07.2009, 10:55   #16
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Ёпрст, читай внимательнее, убрать - regsvr32 -u xxx.dll.
Сними галку 'закрепить панель задач' и перетащи мышкой куда угодно, кроме того у формы куча новых свойств, может там есть какое-то отвечающее за расположение
пыщь
JTG вне форума Ответить с цитированием
Старый 28.07.2009, 17:48   #17
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Ёпрст, читай внимательнее, убрать - regsvr32 -u xxx.dll.
Сними галку 'закрепить панель задач' и перетащи мышкой куда угодно, кроме того у формы куча новых свойств, может там есть какое-то отвечающее за расположение
а можно ли как то обойтись без перезагрузки эксплорера?

Последний раз редактировалось RamireZ; 28.07.2009 в 22:32.
RamireZ вне форума Ответить с цитированием
Старый 28.07.2009, 22:37   #18
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Нет, к дллке винда лочит доступ так же, как и к любому запущенному экзешнику. Можешь попробовать unlocker, только проводник после этого сам свалится
пыщь
JTG вне форума Ответить с цитированием
Старый 28.07.2009, 23:47   #19
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Нет, к дллке винда лочит доступ так же, как и к любому запущенному экзешнику. Можешь попробовать unlocker, только проводник после этого сам свалится
Хм..вот что заметил.Если не закреплять панель задач,и щелкнуть правой кнопкой мыши по приложению,а затем выбрать там "закрыть панель инструментов"-то приложение закрывается без проблем и ошибок explorer.exe никаких не выдает.Может возможно как то через это пробовать?
Т.к обычно после того,как снимешь галку своего приложения в панели инструментов и попытаешься развернуь/свернуть что либо на панели задач-эксплорер выдает ошибку и сам перезапускается
Изображения
Тип файла: jpg 11.JPG (14.1 Кб, 144 просмотров)

Последний раз редактировалось RamireZ; 29.07.2009 в 00:11.
RamireZ вне форума Ответить с цитированием
Старый 02.08.2009, 18:32   #20
RamireZ
Студент
Пользователь
 
Аватар для RamireZ
 
Регистрация: 30.05.2008
Сообщений: 61
По умолчанию

Давно мучала эта ошибка:
1)Я создаю библитеку
2)Регистрирую ее через regsvr32
3)Затем выбираю приложение в панели инструментов
4)Появляется приложение
Если вновь снять галочку в панели инструментов, а затем нажать на какой нибудь объект в панели задач-то explorer.exe выдает ошибку.Почему бы интерестно и как её убрать?
JTG-у тебя так же было?

Последний раз редактировалось RamireZ; 02.08.2009 в 20:34.
RamireZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отображается Панель инструментов haros Microsoft Office Excel 11 21.07.2009 06:03
Панель инструментов VBA Lyubov1990 Microsoft Office Excel 5 04.06.2009 09:52
Вложенная панель инструментов. haros Microsoft Office Excel 7 16.03.2009 14:38
Как добавить собственную панель инструментов в Word? Zmeй Korzinыч Microsoft Office Word 2 14.10.2008 22:54
Пропала панель инструментов delphin100 Операционные системы общие вопросы 2 24.08.2008 13:29