Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как узнать свойство Сaption файла

43K
03 июня 2010 года
Yokka
14 / / 23.05.2010
У меня есть файлы форматов pdf, chm, djvu и мне надо управлять этими окнами через дескрипторы. Есть какая то функция которая возвращает свойство Сaption файла? Особенно это надо для управления chm файлов так как название файла которое мы можем задать сами будет отличаться от свойства Caption.
332
03 июня 2010 года
Valiant
416 / / 27.09.2004
Цитата: Yokka
У меня есть файлы форматов pdf, chm, djvu и мне надо управлять этими окнами через дескрипторы. Есть какая то функция которая возвращает свойство Сaption файла? Особенно это надо для управления chm файлов так как название файла которое мы можем задать сами будет отличаться от свойства Caption.



Можно как-нибудь попонятнее? Свойство "Caption файла" что Вы под этим понимаете?

399
03 июня 2010 года
KIV
432 / / 20.01.2009
Файлы != Окна!
Вы, может быть, имеете ввиду управлять окнами программ просмотра этих файлов? Тогда всё зависит от конкретного просмоторщика. Ну а если заголовок зависит от содержимого файла, то варианта три:
1) Посмотреть в файл и узнать какой заголовок будет у окна. При этом программа должна знать структуру файла и уметь с ним работать.
2) Посмотреть на дескриптор процесса (если функцию, которой вы пользуютесь для открытия позволяет его получить) и найти его окно (вот только если окон много, то могут быть проблемы)
3) Если вы уверенны, что просмоторщик запущен именно один и именно с тем файлом, который нужен, то можно найти окно по классу.
Первый вариант самый сложный в реализации, но он позволит в 90% (10% это когда просмоторщик не показывает в заголовке заголовок, установленный в файле) найти именно то окно, которое нужно.
43K
03 июня 2010 года
Yokka
14 / / 23.05.2010
Теперь по подробней. Мне надо управлять файлами через дескрипторы. Допустим я хочу свернуть файл. Для chm делаю так.
Код:
Открываю файл
void __fastcall TForm1::Button5Click(TObject *Sender)
{
AnsiString AS="D:\ololo.chm";
ShellExecute(NULL,NULL,AS.c_str(),NULL,NULL,SW_NORMAL);
}

Сворачиваю файл
void __fastcall TForm1::Button8Click(TObject *Sender)
{
CloseWindow(FindWindow("HH Parent","здесь должно быть значение Caption"));
}


Какая есть функция которая могла бы возвратить значение Caption?
11
03 июня 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Yokka
Теперь по подробней. Мне надо управлять файлами через дескрипторы. Допустим я хочу свернуть файл. Для chm делаю так.
Код:
Открываю файл
void __fastcall TForm1::Button5Click(TObject *Sender)
{
AnsiString AS="D:\ololo.chm";
ShellExecute(NULL,NULL,AS.c_str(),NULL,NULL,SW_NORMAL);
}

Сворачиваю файл
void __fastcall TForm1::Button8Click(TObject *Sender)
{
CloseWindow(FindWindow("HH Parent","здесь должно быть значение Caption"));
}
Какая есть функция которая могла бы возвратить значение Caption?


Делается это через CreateProcess, у которого параметры позволяют получать и запоминать для дальнейшей работы дескриптор нового процесса, по этому дексриптору можно найти окно процесса (т.е. в обратную сторону от окон к процессам - с перебором окон и сравнением дескрипторов процессов окон)

399
04 июня 2010 года
KIV
432 / / 20.01.2009
Цитата:
мне надо управлять файлами через дескрипторы. Допустим я хочу свернуть файл


:D
Я вам как бы намекал, что вы управляете не файллами, а окнами. Не знаю как у других, а меня эта фраза смешит.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог