как вариант: внедрение в процесс explorer.exe и регистрация своей функции-обработчика оконных сообщений... кнопка пуск - это "подокно" с названием "Button" окна "Shell_TrayWnd", если мне не изменяет память... ЗЫ есть кстати совершенно дурацкая книга "Программирование на C++ глазами хакера", так вот там были примеры, вроде чтобы кнопка пуск убегала от мышки и тп... найдите ее педеэфничек в гугле, я думаю для вашей задачи там будут полезные знания...
Rel Идиотская книга. И пример идиотский. Там не Пуск летает, а рисунок, который ты сам сделаешь. Этот рисунок в исходной позиции лежит там, где лежит оригинальный Пуск. Только Windows у всех разный. У кого вообще оформление другое. И хрен ты подберёшь рисунок, только лишь если делать снимок экрана программным способом (но откуда ты тогда узнаешь длину и ширину Пуска - темы то разные бывают). А вот что там делается с оригинальным Пуском, я не помню. Но если подумать, то мне кажется он даже не маскируется. У тебя только твоя картинка летает, а оригинальный Пуск как был на месте, так и на месте остался.
Си код #include <windows.h> int main() { HWND start; int y; start=FindWindowEx((FindWindow("Shell_TrayWnd",0)),0,"Button",0); for(y = 0;y<600;++y) { MoveWindow(start,y,1,90,30,1); Sleep(100); } MoveWindow(start,1,1,90,30,1); }
Rel Инжекты и прочая ахинея не уместны для данной задачи. Шелл предоставляет гибкий функционал для управления оболочкой, некоторая малая его часть документирована и известна вам как SH* функции.