Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Копирование активного окна Добавлено: 11.09.05 12:36  

Автор вопроса:  Nataliy
Как известно при помощи клавиш Alt+PrtSc можно копировать активное окно. А можно ли сделать так, чтобы компьютер автоматически делал это сам через определенный промежуток времени

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #1
Добавлено: 11.09.05 14:59
Send Keys

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 11.09.05 15:17
BitBlt

Ответить

Номер ответа: 3
Автор ответа:
 Nataliy



Вопросов: 3
Ответов: 1
 Профиль | | #3 Добавлено: 12.09.05 05:30
А если серьезно?.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 12.09.05 12:06
а никто и не шутил :) Тут серёзные люди собрались :)) Дело в том что ты не врубаешся о чём речь, тогда попробуй посмотреть примеры, с BitBlt уж точно есть даже на этом сайте, ну а с Send Keys довольно просто разобраться и самой. Стоить в инете нарыть что такое Send Keys, узнать константы кнопочки Alt и Print Screen, и всё будет у шокАлАде...

Ответить

Номер ответа: 5
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #5 Добавлено: 12.09.05 13:41
Да-а...
Девушка спросила:

автоматически делал это сам через определенный промежуток времени


Кидаешь таймер на форму, впихиваешь в него функцию копирования активного окна, SendKeys вполне подойдет, и вписываешь в таймер нужный промежуток времени (на твсякий случай 1000 = 1 секунде). Логично ;)

Ответить

Номер ответа: 6
Автор ответа:
 «UL.eXe»



ICQ: 197.895.916.247 

Вопросов: 72
Ответов: 540
 Профиль | | #6 Добавлено: 12.09.05 13:45
ребята, перечитал еще раз ваши ответы... =)
вы не так девушку поняли,
Наталия знает как копи. акт. окно =)

Она спрашивает как это дело автом. делать.
Таймер - самый подходящий инструмент =)

Ответить

Номер ответа: 7
Автор ответа:
 Vit



Вопросов: 68
Ответов: 62
 Web-сайт: www.home-soft.jino-net.ru
 Профиль | | #7
Добавлено: 13.09.05 17:31
Кстати хороший вопрос.
1. Необходимо сначала получить дескриптор активного окна (активном окном необязательно

должно быть окно окном "нашего" приложения).
Как это сделать, честно говоря, я не знаю. (Кто знает - пишите)

2. Есть два варианта:
   2.1. Получив дескриптор активного окна можем узнать его координаты. Через

PaintDesktop фоткаем весь экран, а затем с помощью Bitblt выбираем участок с нашим

окном.
   2.2. В BitBlt используем дескриптор активного окна, но в этом случае не будут

отображаться элементы с формы.

У кого есть другие предложения?

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 13.09.05 23:29
2 Vit
 Знаешь ли ты что Alt+PrintScreen копирует в буфер изображение АКТИВНОГО ОКНА. Что мешает передать Alt+PrintScreen через SendKeys ?

(активном окном необязательно

должно быть окно окном "нашего" приложения).
Как это сделать, честно говоря, я не знаю. (Кто знает - пишите)



Public Function Get_Name_ActiveWindows() As String
'Возвращает имя активного
    Dim MyStr As String
    MyStr = String(GetWindowTextLength(GetForegroundWindow) + 1, Chr$(0))
    GetWindowText GetForegroundWindow, MyStr, Len(MyStr)
    Get_Name_ActiveWindows = MyStr
End Function

Public Function Get_hWnd_ActiveWindows() As Long
'Возвращает хендл активного
Get_hWnd_ActiveWindows = Get_hWND_Window(Get_Name_ActiveWindows)
End Function

'API сами найдёте...


В BitBlt используем дескриптор активного окна, но в этом случае не будут
отображаться элементы с формы.


поэтому не будет морочить голову сделаем Alt+PrintScreen

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам