HWND hWnd;
const char Caption[]="1с-Предприятие 8.1";
if (hWnd=FindWindow(NULL,&caption))
ShowWindow(hWnd,SW_HIDE);
else ShowMessage("Окно не найдено!");
скрыть окно 1C-предприятие
Столкнулся с проблемой, мне нужно скрыть окно программы
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("Окно не найдено!");
}
так вроде находит но, скрывать не скрывает.
через OLE попробуй
тем более в самой 1С нет возможности работы без окна.
Цитата: Patr1ot
я неумею пользоваться OLE :(
А я в 6 месяцев от роду ходить не умел...
Цитата: Patr1ot
тем более в самой 1С нет возможности работы без окна.
Возможность есть, точно так же как и с любым другим OLE приложением (Word, Excel) главное указать visible = false;
Как запускать 1С в сети есть куча примеров, вот один из них, вот второй.
Не смотря на то что они написаны на языке 1С, не вижу сложностей перенести это в билдер.
Код:
как-то так.если не заработает,то искать по классу окна,вероятно,что оно какое-нибудь унивкальное,если нет,то просматривать заголовки всех окон и искать в них ключевое слово,которое намекнуло бы на то,что перед вами 1С
Цитата: Alm3n
Код:
HWND hWnd;
const char Caption[]="1с-Предприятие 8.1";
if (hWnd=FindWindow(NULL,&caption))
ShowWindow(hWnd,SW_HIDE);
else ShowMessage("Окно не найдено!");
const char Caption[]="1с-Предприятие 8.1";
if (hWnd=FindWindow(NULL,&caption))
ShowWindow(hWnd,SW_HIDE);
else ShowMessage("Окно не найдено!");
как-то так.если не заработает,то искать по классу окна,вероятно,что оно какое-нибудь унивкальное,если нет,то просматривать заголовки всех окон и искать в них ключевое слово,которое намекнуло бы на то,что перед вами 1С
нет неработает :(
Неужели в билдере нет возможности скрытого запуска приложений.
Проблема в том что мне нужно запустить 1с-предприятие в скрытом режиме:
делал через ShellExecute с константой SW_HIDE, но 1с_предприятие все равно запускается видимым, наверное потому что, ShellExecutom мы запускаем само приложение а приложение открывает базу, и становится видимым.
как быть?
И юзать гугл и поиск по форуму.