|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - как бы по простому вывести картинку поверх всего изображения на монике ? |
|
|
Разное - как бы по простому вывести картинку поверх всего изображения на монике ?
|
Старожил Сообщения: 440 |
В общем сделал батник который отключает и включает 3g модем , теперь хочется сделать что б картинка при этом вылезала ,как при отключении штатного блютуфа и вайфай . Может кто знает простой способ (vbs,js или консольную прогу) для этого. С делфи и С конечно не буду из-за этого разбираться.
|
|
Отправлено: 03:20, 29-12-2008 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата mitiya:
![]() |
|
------- Отправлено: 03:57, 29-12-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать Судя по всему, mitiya надо, чтобы вылазила всплывающяя подсказка из трея. Такая:
![]() |
Отправлено: 15:06, 29-12-2008 | #3 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать ![]() вот такая картинка вылизает когда я включаю вайфай. Это Еее 901 . Смысл в том что я туда внутрь впоял 3г модем , теперь он вроде как встроенное устройство , на свободную горячую клавишу я прицепил батник который с помощью USBDeview включает и выключает этот модем , дак вот охота сделать чтоб еще и картинка типа этой вылезала. |
Отправлено: 17:50, 29-12-2008 | #4 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Вот такой тестик набросал (сохрани под именем test.hta и тыкни мышкой)
<HTA:APPLICATION ID="hta" APPLICATIONNAME="myApp" BORDER="none" CAPTION="no" BORDERSTYLE="raised" INNERBORDER="no" SCROLL="no"/> <SCRIPT LANGUAGE="JavaScript"> <!-- // Activate cloak resizeTo(100,50); moveTo((screen.width-100)/2,(screen.height-50)/2); hta.windowState="normal"; setInterval("close()", 1000); // Deactivate cloak --> </SCRIPT> <BODY BGCOLOR="Aqua"> Enabled </BODY> 1. просто и прозрачно недостатки: 1. не поверх всех 2. в таскбаре появляется заголовок 3. мелькает один раз при старте 4. не стильно вариант2: запустить с консоли mplay32 /close /play enabled.avi, где авишка - придуманная тобой какая-нить анимация. достоинства: 1. просто и прозрачно 2. стильно (таких выкрутасов можешь в авишку загнать!) недостатки: 1. не поверх экрана 2. появляется в случайном месте Можно ещё написать програмку в виде экзешника, который создаёт окно поверх всех, рисует в нём что нужно и закрывается (20 строчек кода) достоиства: 1. выполнит всё как захочешь недостатки: 1. непросто и непрозрачно |
|
Отправлено: 22:55, 29-12-2008 | #5 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать pva, если бы кто-нибудь написал програмулину которая работала из консоли следующим образом (show.exe d:\img.bmp) , был бы премного благодарен ;-)
|
Отправлено: 20:13, 01-01-2009 | #6 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать файл с пробелами указывается в кавычках
#define UNICODE #include <windows.h> #pragma hdrstop //--------------------------------------------------------------------------- struct loader_t { wchar_t** argv; int argc; HWND hwnd; loader_t() : argv(), argc(), hwnd() { argv = CommandLineToArgvW(GetCommandLine(), &argc); } bool createWindow(HINSTANCE hinst, unsigned timeout) { if (1<argc) { HWND hwnd = CreateWindowEx(WS_EX_TOPMOST, L"STATIC", 0, WS_POPUP|WS_BORDER|SS_BITMAP, 0, 0, 0, 0, 0, 0, hinst, 0); SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, reinterpret_cast<long>( LoadImage(0, argv[1], IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE))); RECT rect; return GetWindowRect(hwnd, &rect) && SetWindowPos(hwnd, HWND_TOPMOST, (GetSystemMetrics(SM_CXSCREEN)-rect.right)>>1, (GetSystemMetrics(SM_CYSCREEN)-rect.bottom)>>1, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW) && UpdateWindow(hwnd) && SetTimer(hwnd, 111, timeout, 0); } return false; } ~loader_t() { GlobalFree(argv); } }; #pragma argsused WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int /*nCmdShow*/) { if (loader_t().createWindow(hInstance, 2000)) { MSG cmsg; while (GetMessage(&cmsg, 0, 0, 0)==1 && cmsg.message!=WM_TIMER && cmsg.wParam!=111) { DispatchMessage(&cmsg); } return 1; } return 0; } //--------------------------------------------------------------------------- |
Последний раз редактировалось pva, 25-02-2012 в 12:06. Отправлено: 00:49, 04-01-2009 | #7 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать Спасибо большое !
|
Отправлено: 19:56, 05-01-2009 | #8 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать еслиб еще в панели задач не появлялось ничего
![]() |
Отправлено: 00:40, 07-01-2009 | #9 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Извиняюсь, при отладке загляделся и не заметил. Исправленный вариант:
#define UNICODE #include <windows.h> #pragma hdrstop //--------------------------------------------------------------------------- struct loader_t { wchar_t** argv; int argc; HWND hwnd; loader_t() : argv(), argc(), hwnd() { argv = CommandLineToArgvW(GetCommandLine(), &argc); } bool createWindow(HINSTANCE hinst, unsigned timeout) { if (1<argc) { HWND hwnd = CreateWindowEx(WS_EX_TOPMOST, L"STATIC", 0, WS_POPUP|WS_BORDER|SS_BITMAP, 0, 0, 0, 0, CreateWindowEx(0, L"STATIC", 0, 0, 0, 0, 0, 0, 0, 0, hinst, 0), 0, hinst, 0); SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, reinterpret_cast<long>( LoadImage(0, argv[1], IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE))); RECT rect; return GetWindowRect(hwnd, &rect) && SetWindowPos(hwnd, HWND_TOPMOST, (GetSystemMetrics(SM_CXSCREEN)-rect.right)>>1, (GetSystemMetrics(SM_CYSCREEN)-rect.bottom)>>1, 0, 0, SWP_NOSIZE|SWP_SHOWWINDOW) && UpdateWindow(hwnd) && SetTimer(hwnd, 111, timeout, 0); } return false; } ~loader_t() { GlobalFree(argv); } }; #pragma argsused WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int /*nCmdShow*/) { if (loader_t().createWindow(hInstance, 2000)) { MSG cmsg; while (GetMessage(&cmsg, 0, 0, 0)==1 && cmsg.message!=WM_TIMER && cmsg.wParam!=111) { DispatchMessage(&cmsg); } return 1; } return 0; } //--------------------------------------------------------------------------- |
Последний раз редактировалось pva, 25-02-2012 в 12:06. Отправлено: 12:12, 07-01-2009 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - [C++Builder 2007] Две формы поверх всех окон и одна форма поверх другой | crashtuak | Программирование и базы данных | 3 | 13-04-2009 16:33 | |
Как при данной конфигурации компьютера проще всего вывести видео на "тюльпан" для ТВ | roniro | Видео и аудио: обработка и кодирование | 6 | 29-01-2009 20:40 | |
Доступ - Как разрешить простому юзеру писать на CD? (Windows XP) | ANR | Microsoft Windows 2000/XP | 6 | 30-11-2007 23:28 | |
Как добавить простому пользователю право ввести комп в домен?? | winder | Microsoft Windows NT/2000/2003 | 3 | 18-08-2007 19:45 | |
Как запретить выход в Интернет простому пользователю? | Gidravlik | Microsoft Windows 2000/XP | 4 | 13-04-2007 10:10 |
|