Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - как бы по простому вывести картинку поверх всего изображения на монике ?

Ответить
Настройки темы
Разное - как бы по простому вывести картинку поверх всего изображения на монике ?

Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


В общем сделал батник который отключает и включает 3g модем , теперь хочется сделать что б картинка при этом вылезала ,как при отключении штатного блютуфа и вайфай . Может кто знает простой способ (vbs,js или консольную прогу) для этого. С делфи и С конечно не буду из-за этого разбираться.

Отправлено: 03:20, 29-12-2008

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата mitiya:
как при отключении штатного блютуфа и вайфай »
Имеется в виду картинка, которая в трее показывается или что именно? Если да, то можно через WMI проверять состояния сетевой карты. Опишите подробней, что необходимо, глядишь и нарисую

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 03:57, 29-12-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


Судя по всему, mitiya надо, чтобы вылазила всплывающяя подсказка из трея. Такая:

Отправлено: 15:06, 29-12-2008 | #3


Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать




вот такая картинка вылизает когда я включаю вайфай.
Это Еее 901 . Смысл в том что я туда внутрь впоял 3г модем , теперь он вроде как встроенное устройство , на свободную горячую клавишу я прицепил батник который с помощью USBDeview включает и выключает этот модем , дак вот охота сделать чтоб еще и картинка типа этой вылезала.

Отправлено: 17:50, 29-12-2008 | #4

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить 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
Благодарности: 12

Профиль | Отправить PM | Цитировать


pva, если бы кто-нибудь написал програмулину которая работала из консоли следующим образом (show.exe d:\img.bmp) , был бы премного благодарен ;-)

Отправлено: 20:13, 01-01-2009 | #6

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить 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;
}
//---------------------------------------------------------------------------
возвращает 1 если окно показывалось, 0 - если нет. Нельзя приделывать к нему манифест чтоб подключались ComCtl 6.0 - не будет работать.

Последний раз редактировалось pva, 25-02-2012 в 12:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:49, 04-01-2009 | #7


Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


Спасибо большое !

Отправлено: 19:56, 05-01-2009 | #8


Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


еслиб еще в панели задач не появлялось ничего

Отправлено: 00:40, 07-01-2009 | #9

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - как бы по простому вывести картинку поверх всего изображения на монике ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход