Скажити пож., как правильно "свернуть" окно в трэй У меня после минимизации окно сворачивается, прячется, но остаётся кнопка на TaskBar'э (ну на панеле задач.) Вот мой код: Code (Text): mov note.cbSize,sizeof NOTIFYICONDATA mov eax,hWnd mov note.hwnd,eax mov note.uID,0 mov note.uFlags,NIF_ICON+NIF_MESSAGE+NIF_TIP mov note.uCallbackMessage,WM_SHELLNOTIFY invoke LoadIcon,hInstance,2 mov note.hIcon,eax invoke lstrcpy,addr note.szTip,addr AppName invoke PostMessage,hWnd, WM_SYSCOMMAND, SC_MINIMIZE,0 -------> invoke ShowWindow,hWnd,SW_HIDE invoke Shell_NotifyIcon,NIM_ADD,addr note
Чтобы убралась кнопка, нужно прятать главное окно (top-level): Code (Text): invoke FindWindow,szCalc,ebx mov esi,eax invoke PostMessage,esi,WM_SYSCOMMAND,SC_MINIMIZE,ebx invoke ShowWindow,esi,SW_HIDE invoke Sleep,2000 invoke ShowWindow,esi,SW_SHOWNORMAL szCalc db 'SciCalc',0
SciCalc - ЭТО НАЗВАНИЕ ОКНА? иЛИ это это таскбарное окно??????? Так я и убираю главное окно Code (Text): invoke PostMessage,hWnd, WM_SYSCOMMAND, SC_MINIMIZE,0 invoke ShowWindow,hWnd,SW_HIDE Но кнопка опять выскакивает
Я вот нашёл код на Delphi: Code (Text): ActionIcon (1,Application.Icon); // Добавляем значок в трей ShowWindow(Handle,SW_HIDE); // Скрываем программу ShowWindow(Application.Handle,SW_HIDE); // Скрываем кнопку с TaskBar'а НО Я НЕ ПОНЕМАЮ Application.Handle - это что? Дельфовая структура??? Handle то чей?....
SciCalc - это класс главного окна калькулятора. Application.Handle - это как раз-таки хендл главного окна в делфи, оно скрытое и служит для служебных целей, вроде Application.Title - надпись кнопки на панели задач и т.п. А "главное окно" в делфи - всего лишь первое после этого. invoke ShowWindow,[hwnd],SW_MINIMIZE invoke ShowWindow,[hwnd],SW_HIDE
invoke ShowWindow, [hWnd],SW_HIDE больше ничего не требуется. Application.Handle - hInstance Зачем его трогать?