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

Ваш аккаунт

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

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

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

скрыть окно 1C-предприятие

290
27 декабря 2010 года
Patr1ot
458 / / 09.02.2008
Добрый день!
Столкнулся с проблемой, мне нужно скрыть окно программы
1с-предприятие. Как я понял мне нужно найти дескриптор окна по имени которого функцией ShowWindow я его смогу скрыть.
Проблема в том что не получается найти дескриптор окна 1с-предприятие.

Кто знает подскажите.

Пробовал вот так:
Цитата:

HWND hWnd;
bool Exsist1CWindow(HWND hWnd);
bool result=true;
char buff[255];
const char Caption[]="1с-Предприятие 8.1";
GetWindowText(hWnd, buff, sizeof(buff));
for(int i=0;i<13;i++)
if(buff!=Caption)
{
ShowWindow(buff,SW_HIDE);
//result=false;break;
}
else
{
ShowMessage("Окно не найдено!");
}



так вроде находит но, скрывать не скрывает.

11
27 декабря 2010 года
oxotnik333
2.9K / / 03.08.2007
через OLE попробуй
290
27 декабря 2010 года
Patr1ot
458 / / 09.02.2008
я неумею пользоваться OLE :(

тем более в самой 1С нет возможности работы без окна.
11
27 декабря 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Patr1ot
я неумею пользоваться OLE :(


А я в 6 месяцев от роду ходить не умел...

Цитата: Patr1ot

тем более в самой 1С нет возможности работы без окна.


Возможность есть, точно так же как и с любым другим OLE приложением (Word, Excel) главное указать visible = false;
Как запускать 1С в сети есть куча примеров, вот один из них, вот второй.
Не смотря на то что они написаны на языке 1С, не вижу сложностей перенести это в билдер.

316
27 декабря 2010 года
Alm3n
889 / / 29.05.2009
 
Код:
HWND hWnd;
const char Caption[]="1с-Предприятие 8.1";
if (hWnd=FindWindow(NULL,&caption))
ShowWindow(hWnd,SW_HIDE);
else ShowMessage("Окно не найдено!");

как-то так.если не заработает,то искать по классу окна,вероятно,что оно какое-нибудь унивкальное,если нет,то просматривать заголовки всех окон и искать в них ключевое слово,которое намекнуло бы на то,что перед вами 1С
290
27 декабря 2010 года
Patr1ot
458 / / 09.02.2008
Цитата: Alm3n
 
Код:
HWND hWnd;
const char Caption[]="1с-Предприятие 8.1";
if (hWnd=FindWindow(NULL,&caption))
ShowWindow(hWnd,SW_HIDE);
else ShowMessage("Окно не найдено!");

как-то так.если не заработает,то искать по классу окна,вероятно,что оно какое-нибудь унивкальное,если нет,то просматривать заголовки всех окон и искать в них ключевое слово,которое намекнуло бы на то,что перед вами 1С



нет неработает :(

Неужели в билдере нет возможности скрытого запуска приложений.
Проблема в том что мне нужно запустить 1с-предприятие в скрытом режиме:
делал через ShellExecute с константой SW_HIDE, но 1с_предприятие все равно запускается видимым, наверное потому что, ShellExecutom мы запускаем само приложение а приложение открывает базу, и становится видимым.

как быть?

1
27 декабря 2010 года
kot_
7.3K / / 20.01.2000
использовать OLE. Сколько раз еще надо повторить?
И юзать гугл и поиск по форуму.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог