ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

08.08.2008, 00:03
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
1. char *strcat(char *dist, const char *src) - функция из стандартной библиотеки (объявляется в string.h) присоединяет src в конец dist. Нужно следить, чтобы в dist хватало места.
2. Если приложение твоё, то проще послать соответствующее WM_COMMAND, ктр запускает обработчик нажатия буттона.
имитация
DBLCLICK - WM_LBUTTONDBLCLK
LEFTCLICK - WM_LBUTTONDOWN/WM_LBUTTONUP с соответствующими lParam и wParam
ЗЫ сожги свою книгу по Си++
|
|
|

08.08.2008, 13:17
|
|
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме: 146826
Репутация:
17
|
|
Такс.
Значит разобрался я со даблкликом, могу запустить прогу с рабочего стола, вот так:
Код:
Sleep(3000);//чтоб успеть свернуть окно
POINT pt={25, 35};
HWND Wind = WindowFromPoint(pt);
SetCursorPos(pt.x, pt.y);
SendMessage(Wind, WM_LBUTTONDOWN, pt.x, pt.y);
SendMessage(Wind, WM_LBUTTONDBLCLK, pt.x, pt.y);
SendMessage(Wind, WM_LBUTTONUP, pt.x, pt.y);
Все ок.
Дальше - пытаюсь закрыть открытую программу(Тотал Коммандер), кликнув по батону "закрыть", вот так:
Код:
Sleep(2000);
POINT pt2={900, 100};
HWND Wind2 = WindowFromPoint(pt2);
SetCursorPos(pt2.x, pt2.y);
SendMessage(Wind, WM_LBUTTONDOWN, pt2.x, pt2.y);
SendMessage(Wind, WM_LBUTTONUP, pt2.x, pt2.y);
Но ничего не получается...
Сильно не пиннайте, я всего 3 дня с С++.
ПС. Спасибо за помощь.
ППС. Учебник у меня и вправду г.
Последний раз редактировалось agrofyl2; 08.08.2008 в 14:03..
|
|
|

08.08.2008, 14:05
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2agrofyl2
Нафига такие извращения для запуска сторонней проги?
Прочти в МСДН про функцию CreateProcess.
Далее, чтобы закрыть какойто процесс ненужно двигать указатель и имитировать нажатие клавиш тоже. Нужно всего лишь получить хэндл процесса (CreateProcess его кстати и вернёт, см подробней МСДН) и вызвать функцию TerminateProcess.
Второе. Если ты лишь третий день изучаешь Си++ то тебе ещё рано изучать архитектуру винды.
МСДН = msdn.microsoft.com
|
|
|

08.08.2008, 14:23
|
|
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме: 146826
Репутация:
17
|
|
1. Запуск проги просто пример. Давно хотел запустить прогу, которая сама могла бы кликать.
А так то я знаю, что запустить/закрыть прогу лучше без мыши...
2. Просто решил попробывать, как это происходит. Конечно лезть в винду мне пока рано.
|
|
|

08.08.2008, 18:48
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от agrofyl2
1. Запуск проги просто пример. Давно хотел запустить прогу, которая сама могла бы кликать.
А так то я знаю, что запустить/закрыть прогу лучше без мыши...
2. Просто решил попробывать, как это происходит. Конечно лезть в винду мне пока рано.
Ты толком синтаксис не знаешь, а уже начал программировать на win api ...
|
|
|

08.08.2008, 19:06
|
|
Новичок
Регистрация: 25.10.2006
Сообщений: 2
Провел на форуме: 12502
Репутация:
0
|
|
Такой вопрос. Написал программу (работа с сокетами,клиент). Так вот .. просматриваю результат , что то передал сервер:
printf("%x", buf[i]);. Вообщем то всё норм. только вот проскакивает такое: FFFFFFC6. Насколько я понял ето тоже самое что C6. Откуда берётся FF FF FF??
|
|
|

08.08.2008, 19:30
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме: 1301036
Репутация:
1334
|
|
Сообщение от h17liNEr
Такой вопрос. Написал программу (работа с сокетами,клиент). Так вот .. просматриваю результат , что то передал сервер:
printf("%x", buf[i]);. Вообщем то всё норм. только вот проскакивает такое: FFFFFFC6. Насколько я понял ето тоже самое что C6. Откуда берётся FF FF FF??
Имхо - это сокращенные имена для всех системных записей. Которые собраны в файлах.
Некоторые записи имеют 32-разрядные имена и два 16-разрядных имени. Они выбирают Configuration записи, где FFFFFFC6 - это адрес
Последний раз редактировалось cash$$$; 08.08.2008 в 19:35..
|
|
|

08.08.2008, 20:00
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2cash$$$
эээ ... ты сам то понял, что сказал?
2h17liNEr
сорцы клиента и сервера в студию.
|
|
|

08.08.2008, 21:27
|
|
Новичок
Регистрация: 08.08.2008
Сообщений: 6
Провел на форуме: 13036
Репутация:
20
|
|
какой тип имеют элементы массива buf? Если знаковый (по умолчанию все типы знаковые), то при помещении аргумента в стек он расширяется до 32 бит и старшие разряды заполняются знаком
|
|
|

11.08.2008, 20:37
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Кто знает в какой строке реестра находится путь к "браузер по умолчанию" ??
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|