Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2012, 22:37   #21
Klod
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 42
По умолчанию

Копался в нете и нашёл очень интересный код:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HWND wnd;
wnd = FindWindow(NULL, "Калькулятор");
PostMessage(wnd, WM_KEYDOWN, VK_F1, 0L); 
}
Пробовал, работает только с калькулятором, хотя я подставлял название окна.
Klod вне форума Ответить с цитированием
Старый 12.02.2012, 10:23   #22
Klod
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 42
По умолчанию Как узнать название окна?

Пробовал пользоваться прогой AutiIT3 Info, нашёл там информацию handle со значением 0x000F0678
Как мне использовать это значение?
я пытался так: PostMessage(0x000F0678, WM_KEYDOWN, VK_F1,0);
Как мне передать окну нажатие кнопки F1

Последний раз редактировалось Klod; 12.02.2012 в 11:08.
Klod вне форума Ответить с цитированием
Старый 13.02.2012, 00:53   #23
Klod
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 42
По умолчанию

Как найти HWND без вода заголовка окна полностью?
Вот например у меня есть :

Код:
HWND wnd, hwnd;
   wnd = FindWindow("NorthForest","Last Called (Window 1280x800)");
  hwnd = FindWindowEx(wnd, 0, "TConversationForm", 0);
как на этой строчке
wnd = FindWindow("NorthForest","Last Called (Window 1280x800)");
сделать так, чтобы не надо было полностью писать Last Called (Window 1280x800).
Klod вне форума Ответить с цитированием
Старый 13.02.2012, 03:02   #24
Klod
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 42
По умолчанию Нажатие кнопки(Button) в C++ Borland

У меня есть кнопка1 и функция, которая будет выполняться при клике по этой кнопке:


Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  HWND wnd, hwnd;
   wnd = FindWindow("TKeyst","Ô1");
   hwnd = FindWindowEx(wnd, 0, "TKeyst", NULL);
     if(wnd>0)
  {     PostMessage(hwnd,WM_KEYDOWN,VK_F1,0);
        Sleep(1000);
         }
     else
        MessageBox(NULL,"Window not found","",MB_OK);
}
Вопрос: "А как мне сделать так, чтобы на один клик функция выполнялась, а на другой останавливалась?"
Klod вне форума Ответить с цитированием
Старый 13.02.2012, 03:03   #25
Klod
Пользователь
 
Регистрация: 09.02.2012
Сообщений: 42
По умолчанию C++ програмное нажатие клавиши.

Короче, программа воспринимает сообщение:
Код:
PostMessage(hwnd,WM_KEYDOWN,VK_F1,0);
должным образом, но как будто кнопка F1 не нажималась.
Постараюсь по яснее: проверял с помощью Spy++ сообщения в том окне, в которое посылал сообщение о нажатии кнопки F1 и выяснилось что кнопка виртуально нажимается.
Тогда такой вопрос: почему программа не воспринимает виртуальное нажатие кнопки должным образом? И как сделать чтобы воспринимала?
Klod вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает данный кусок кода? munthrekosh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 14.12.2011 13:47
Не хочу что бы кусок кода на страницы менялся. Как сделать? Drek PHP 4 10.01.2010 20:29
Как откомпилировать С++ код (несколько файлов) просто в один кусок бинарного кода sopot Общие вопросы C/C++ 2 17.05.2009 04:44
Как можно взять кусок чужой страницы и засунуть его на свою? wis239 PHP 7 12.02.2009 18:11
Можно ли его расшифровать? DenCraft Фриланс 4 24.02.2008 01:19