ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.04.2010, 13:05
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Похоже на то, что мне нужно. Спасибо, буду дальше махиначить
 
Ответить с цитированием

  #12  
Старый 22.04.2010, 11:00
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

И все же это чуточку не то.
У него такого же рода проблема. Список констант, которые вроде пашут, а вроде и нет.
 
Ответить с цитированием

  #13  
Старый 22.04.2010, 12:07
ViLKaa
Новичок
Регистрация: 24.07.2009
Сообщений: 9
Провел на форуме:
229875

Репутация: 10
Отправить сообщение для ViLKaa с помощью ICQ
По умолчанию

Эм...
SendKeys.Send("{F1}");

или я что то не понимаю)
 
Ответить с цитированием

  #14  
Старый 23.04.2010, 18:57
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Что-то тогда не ясно, как отправить это окну, которое в фокусе.
 
Ответить с цитированием

  #15  
Старый 23.04.2010, 20:27
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Решение найдено.
Вилка прав(а)
http://msdn.microsoft.com/en-us/library/ms171548.aspx
 
Ответить с цитированием

  #16  
Старый 17.05.2010, 10:21
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Что-то замучала эта задачка.
Когда идет посылка SendKeys.Send("{F1}"); приходится ждать ответа.
А я хочу слать кажду секунду сообщение о нажатой кнопке .
 
Ответить с цитированием

  #17  
Старый 17.05.2010, 10:51
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

DDoS какой-то.

надо учитывать что SendKeys отправляет сообщение активному окну.

чтобы не ждать "ответа" нужно асинхронно посылать сообщения.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #18  
Старый 17.05.2010, 10:52
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Неее... можно выставить, что типо окно в фокусе и слать ему сообщения, хотя ты его сам активным не делаешь.
 
Ответить с цитированием

  #19  
Старый 17.05.2010, 15:48
alexey-m
Познающий
Регистрация: 15.07.2009
Сообщений: 71
Провел на форуме:
520157

Репутация: 35
Отправить сообщение для alexey-m с помощью ICQ
По умолчанию

Цитата:
Сообщение от FlyBird  
Что-то замучала эта задачка.
Когда идет посылка SendKeys.Send("{F1}"); приходится ждать ответа.
А я хочу слать кажду секунду сообщение о нажатой кнопке .
FlyBird, если не охота ждать то посылай сообщения через PostMessage, так сообщения ставятся в очередь и ты сразу получишь управления после вызова функции, при использовании SendMessage сообщения отправляются на прямую, и тебе придется ждать...
Раз ты проверял все на блокноте то небольшой пример, правда на Delphi
Код:
 procedure TFormMain.Button1Click(Sender: TObject);
var
  hWnd,hChild: THandle;
begin
// Ещем окно с классом 'Notepad'
  hWnd:= FindWindowA('Notepad',nil);
  if hWnd<>0 then begin
    hChild:= FindWindowExA(hWnd,0,'Edit',nil);       // Ищем текстовое поле
    if hChild<>0 then begin
      SendMessage(hChild, WM_CHAR, Word('-'), 0);    // Посылаем символ "-"
      PostMessage(hChild, WM_KEYDOWN, VK_RETURN, 0); // Переводим строку
    end;
    PostMessage(hWnd, WM_KEYDOWN, VK_F5, 0); // Посылаем главному окну о нажатии клавиши F5
  end else
    ShowMessage('Notepad not found');
end;
 
Ответить с цитированием

  #20  
Старый 20.05.2010, 11:17
FlyBird
Познающий
Регистрация: 14.10.2007
Сообщений: 47
Провел на форуме:
91186

Репутация: 18
По умолчанию

Цитата:
Сообщение от alexey-m  
FlyBird, если не охота ждать то посылай сообщения через PostMessage, так сообщения ставятся в очередь и ты сразу получишь управления после вызова функции, при использовании SendMessage сообщения отправляются на прямую, и тебе придется ждать...
Раз ты проверял все на блокноте то небольшой пример, правда на Delphi
Код:
 procedure TFormMain.Button1Click(Sender: TObject);
var
  hWnd,hChild: THandle;
begin
// Ещем окно с классом 'Notepad'
  hWnd:= FindWindowA('Notepad',nil);
  if hWnd<>0 then begin
    hChild:= FindWindowExA(hWnd,0,'Edit',nil);       // Ищем текстовое поле
    if hChild<>0 then begin
      SendMessage(hChild, WM_CHAR, Word('-'), 0);    // Посылаем символ "-"
      PostMessage(hChild, WM_KEYDOWN, VK_RETURN, 0); // Переводим строку
    end;
    PostMessage(hWnd, WM_KEYDOWN, VK_F5, 0); // Посылаем главному окну о нажатии клавиши F5
  end else
    ShowMessage('Notepad not found');
end;
Спасибо большое за ответ.
За пару дней до вашего я все же достиг того, что нужно. Помогли на одном форуме. Я что-то совсем про ПОСТ забыл.
Даже был вариант самому себе посылать подтверждение, но потом напомнили про ПОСТ. WipAPI только в инсте проходил и ни шагу дальше.
Пример кода.


Код:
if (hWnd == IntPtr.Zero)
            {
                MessageBox.Show("Процесс не найден", "FlyBird(Ошибка)");
                return;
            }
            IntPtr hEdit = FindWindowEx(hWnd, IntPtr.Zero, "Edit", "");
            if (hEdit == IntPtr.Zero)
            {
                MessageBox.Show("Not found child", "Error");
                return;
            }

            IntPtr t1 = (IntPtr)ComBoxSelectItem_1;
            IntPtr nul = IntPtr.Zero;

            //PostMessage(hWnd, WM_KEYUP, t1, nul);
            PostMessage(hWnd, WM_KEYDOWN, t1, nul);
Теперь проблема в том, как достучаться до меню сторонний программы и отправить команду на выполнения поункта меню и дальше вбить в TextBox нужные символы и нажать Button.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
my.mail.ru отправка сообщений. GreenBear Социальные сети 0 10.03.2010 21:15
Отправка Bluetooth сообщений Fristail Сотовый фрикинг 5 31.10.2009 12:52
Окно с кнопкой на Api je0n Авторские статьи 1 09.11.2006 02:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ