На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Переключиться в окно Windows , Нужно активировать последнее активное окно и сделать его скрин
    Доброго дня!

    Предыстория: есть у меня программа, которая делает скриншоты экрана или активного окна. Есть код, который скринит активное окно, на которое нажали мышкой (эмуляцией клавиш ALT+ Prt. Scr.). Но проблема в том, что мне приходится сначала нажать на кнопку в программе, которая запускает таймер (поставил выдержку в 1 сек.) и за это время нужно мышкой активировать любое окно Windows, после чего моя программа сделает захват окна. Но всё это слишком муторно и контрпродуктивно.
    Нужно:
    чтобы VB6 автоматически (после нажатия на кнопку) активировала последнее активное окно Windows и сделала его скрин путем
    ExpandedWrap disabled
      Call keybd_event(VK_MENU, 0, 0, 0):Call keybd_event(VK_SNAPSHOT, 0, 0, 0)

    Как это реализовать, парни? На всякий случай поясню: юзер делает клик по кнопке, программа активирует последнее активное окно Windows и делает его захват.
    На этих делал я полный чайник, посему прошу снисходительней и побольше информации про код. Благодарствую!

    P.S. Прошу прощения, если аналогичная тема существовала, но поиск по форуму результатов мне не дал.
      Просто сверни окно программы - активируется предыдущее.
        Цитата Akina @

        Не получается почему-то. У меня тут мудренее ситуация:
        После нажатия по кнопке устанавливается me.height=0 и активируется таймер-2 с задержкой в 1сек (чтобы юзер успел активировать нужное для скрина окно вручную), который эмулирует нажатие alt+prtscr, после чего включается таймер-1, который активирует главную форму программы, в окне которого и отображается сделанный только ято скрин (при помощи clipboard.get data).
        Вот при всех этих случаях просто сворачивание окна моей проги не активирует окно Windows
          Свернуть - это minimize. А обнуление высоты - это из другой бочки.
            К тому же у формы: BorderStyle=0

            Добавлено
            Блин, вот же я олух! Я учтанавливал Height формы равным 0, чтобы само окно проги не попадало в скрин, но ведь можно было просто сделать Me.WindowState=0 и Me.Visible=False. После этого реально активируется последнее активное окно.

            Akina, огромная Вам благодарность. Уже в который раз выручаете советом
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0215 ]   [ 16 queries used ]   [ Generated: 28.03.24, 20:28 GMT ]