на сколько понял нужно отловить хендл окна, а потом отправить ему сообщение(SendMessageA). Правильно?
ЗЫ: будет много глупых вопросов, я с этим не барабался ни разу
SPY в руки, генерим сообщение об ошибке, отлавливаем его SPY смотрим на класс (скорее всего всплывающее окно), читаем хендл, идентифицируем с экселем, и кроем. Все то есть на форуме, только тебе нужно не МТшное окно а экселевское.
FAQ:
SPY в руки, генерим сообщение об ошибке, отлавливаем его SPY смотрим на класс (скорее всего всплывающее окно), читаем хендл, идентифицируем с экселем, и кроем. Все то есть на форуме, только тебе нужно не МТшное окно а экселевское.
SPY в руки, генерим сообщение об ошибке, отлавливаем его SPY смотрим на класс (скорее всего всплывающее окно), читаем хендл, идентифицируем с экселем, и кроем. Все то есть на форуме, только тебе нужно не МТшное окно а экселевское.
Да я ищу читаю, но блин учится сложно ). Для того кто знает все очень просто. Вот SPY например, что за хрень только сегодня наткнулся(говорю же не сталкивался с этим)
ЗЫ: вроде даже я его уже скачал
вот тут нашел подобие
#import "user32.dll" int GetDesktopWindow(); int GetWindow(int hWnd, int uCmd); int GetWindowTextA(int hWnd, string lpString, int nMaxCount); int GetWindowTextLengthA(int hWnd); int PostMessageA(int hWnd, int Msg, int wParam, int lParam); #import #define GW_HWNDNEXT 2 #define GW_CHILD 5 #define WM_CLOSE 0x0010 void start() { StatementClose("Microsoft Office Excel"); } //функция закрывает окно браузера с отчетом о торговой истории счета void StatementClose(string WName) { int hWnd, nMaxCount; string sWindowName = " "; hWnd = GetWindow(GetDesktopWindow(), GW_CHILD); while(hWnd!=0) { hWnd = GetWindow(hWnd, GW_HWNDNEXT); nMaxCount = GetWindowTextLengthA(hWnd); GetWindowTextA(hWnd, sWindowName, nMaxCount+1); if(StringFind(sWindowName, WName, 0)>=0) { Print("Закрываем окно ошибки"); PostMessageA(hWnd, WM_CLOSE, 0, 0); break; } } }
sanyooooook:
Всё правильно сделал.
на сколько понял нужно отловить хендл окна, а потом отправить ему сообщение(SendMessageA). Правильно?
это для главного окна
hWnd = FindWindowA("XLMAIN", WName); //ищем окно
а для окна ошибки как будет?
какой эксель ? версия?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Знаю что реально, не знаю как.
Подскажите.