HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Вопросы по WinAPI
GetAsyncKeyState и все-все-все
Страницы (5): « 1 [2] 3 4 5 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Ну как-то так, этот момент Дядя Миша лучше прояснит, т.к. делал подобное в ксаше.

Там просто рэсемпл на лету с одновременным рендерингом.
Теоретически так качество немного лучше, т.к. идёт предумножение на громкость прямо в реалтайме.

Цитата:
FiEctro писал:
Вообще виндовые либы какие то чудоковатые.

Этим либам уже 40 лет некоторым, они старше тебя.

Ты объясни что ты хочешь сделать? Если ты на завод хочешь, так и иди себе. А если хочешь звуки микшировать - так микшируй.

Добавлено 22-02-2023 в 01:06:

Картинка втему!

[ Вложение ]
photo_2023-02-22_01-04-22.jpg

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 212852

Старое сообщение 21-02-2023 22:06
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Ты объясни что ты хочешь сделать? Если ты на завод хочешь, так и иди себе. А если хочешь звуки микшировать - так микшируй.


Чего тебя это так задело? Что я хочу я написал на предыдущей странице. Просто чтобы звуки нормально смешивались и воспроизводились.

Сообщить модератору | | IP: Записан
Сообщение: 212855

Старое сообщение 22-02-2023 05:53
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Просто чтобы звуки нормально смешивались и воспроизводились

Так у тебя же есть Юнити. Он не умеет микшировать звуки? Или ты может свой движок пишешь или что?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 212857

Старое сообщение 22-02-2023 08:02
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Или ты может свой движок пишешь или что?


Это отдельный от Юнити проект, чисто на крестах, движком сложно назвать, скорее просто приложение. Потому тянуть к себе половину кваки не очень хотелось.

Отредактировано FiEctro 22-02-2023 в 08:29

Сообщить модератору | | IP: Записан
Сообщение: 212859

Старое сообщение 22-02-2023 08:25
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
движком сложно назвать, скорее просто приложение

Чем больше информации ты выдашь, тем более дельный совет получишь.
Потому что просто приложению незачем звуки микшировать.
Да и вообще большинство приложений не издаёт никаких звуков, так уж исторически сложилось, что звук на компьютеры завезли только в конце 80-х.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 212863

Старое сообщение 22-02-2023 09:22
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Дядя Миша
Простенький 2д платформер. Делаю скорее для себя и врядли буду оформлять его в готовый проект и релизить. Я решил просто немного вообще функционал винапи подучить чтобы потом всякие программки писать для личных нужд. Ну не цеплять же Юнити каждый раз. Но наверное всё же в будущем на питон перейду, там всё намного удобнее, а в крестах надо почти всегда прописывать какое то низкоуровневое дрочево (для кого то это конечно плюс, но не для меня).

Вообще в интернете как то мало инфы по винапи, а та что есть очень поверхностная, и порой устаревшая. Спасает только нейросеть, но и она порой дико тупит.

Отредактировано FiEctro 22-02-2023 в 11:14

Сообщить модератору | | IP: Записан
Сообщение: 212867

Старое сообщение 22-02-2023 11:02
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

Помоему ты ставишь телегу поперёд лошади. Тебе нужно что? Знание WinAPI или программки для личных нужд? Очевидно второе. Так вот и пиши программки, а WinAPI в процессе подтянешь. Ты в любом случае не выучишь ВЕСЬ WinAPI, т.к. там тысячи функций. Причём большая часть из них тебе скорее всего никогда и не понадобится.

Цитата:
FiEctro писал:
а в крестах надо почти всегда прописывать какое то низкоуровневое дрочево

Так фреймворки же есть.

Цитата:
FiEctro писал:
Спасает только нейросеть, но и она порой дико тупит.

Дожыли. А живых людей на форумах спросить, не? Нейросеть тебе небось не посоветует посмотреть код из кваки, я отчего-то уверен.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 212870

Старое сообщение 22-02-2023 14:24
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Нейросеть тебе небось не посоветует посмотреть код из кваки, я отчего-то уверен.


Я там все равно ничего не пойму

Цитата:
Дядя Миша писал:
Так фреймворки же есть.


Пожалуй да, стоит пока на них поработать.

Отредактировано FiEctro 22-02-2023 в 15:47

Сообщить модератору | | IP: Записан
Сообщение: 212873

Старое сообщение 22-02-2023 15:38
- За что?
Gandalv
Житель форума

Дата регистрации: Mar 2021
Проживает: Калуга
Сообщений: 226

Рейтинг



Не хочу никоо задеть, но имхо изучать винапи, чтобы писать

Цитата:
программки для личных нужд

в 2023 году это какое-то странное занятие.
Есть же человеческий C# и WPF, в котором все намного быстрее делается. Или там какой-то прямо низкоуровневый функционал нужен?

__________________
Углеродные звезды с древними спутниками, которые колонизируют разумные грибы...
Газовые гиганты, на которых обитает метеорологический разум...
Миры, растянутые на мембранах, где измерения пересекаются...
Это невозможно описать нашим ограниченным языком...

Сообщить модератору | | IP: Записан
Сообщение: 212945

Старое сообщение 24-02-2023 09:08
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Gandalv писал:
Есть же человеческий C# и WPF, в котором все намного быстрее делается. Или там какой-то прямо низкоуровневый функционал нужен?


Да чисто по фану кресты поковырять, шарп тоже учу параллельно, они довольно похожи. И звук впринципе нашел откуда выцапать. Обычный DirectSound, а для графики DirectX, он уже из коробки поддерживает некоторое количество форматов текстур и умеет работать с прозрачностью.

Больше всего в крестах бесит куча разных форматов строк, которые ещё не так просто сконвертировать. На кой чёрт их тут столько, я не знаю.

Цитата:
Gandalv писал:
Не хочу никоо задеть, но имхо изучать винапи, чтобы писать


Винапи и в шарпах есть, но там попроще.

Отредактировано FiEctro 10-04-2023 в 09:39

Сообщить модератору | | IP: Записан
Сообщение: 213931

Старое сообщение 10-04-2023 09:35
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Такой вопрос по винапи: реально ли посредством C++ и винапи отрисовать кнопку в другом запущенном окне другого процесса, например cmd.exe или notepad.exe? Например я получил модуль приложения, могу обращаться к его памяти, но что мне делать дальше? Нужно ли для этого получать hInstance и что он должен возвращать? В интернете мало инфы на эту тему.

Отредактировано FiEctro 27-04-2023 в 11:02

Сообщить модератору | | IP: Записан
Сообщение: 214163

Старое сообщение 27-04-2023 10:50
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Я думаю надо искать окошко по его имени. Вообще - вполне реально, почему нет. Вспоминай шуточные программы, которые на всех диалогах заменяли слова Да\Нет\Отмена на Пофиг\Нафиг\Нефиг. Аналогичным же образом добавляются\удаляются и элементы из сторонних приложений.
Микрософт никогда с этим не боролся, насколько я знаю.

Добавлено 27-04-2023 в 14:14:

Единственное что - добавив новый контрол ты не добавишь этой программе функциональности. Т.е. нажатие кнопки не будет ничем обрабатываться.
Ну оно как бы и очевидно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214166

Старое сообщение 27-04-2023 11:14
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Я думаю надо искать окошко по его имени. Вообще - вполне реально, почему нет.


Это есть. Правда не по имени окна, а по имени процесса, потому что заголовок окна иногда может меняться. А вот что дальше я не очень понимаю. Найти бы пример таких программ, всмысле исходник, в интернете мало инфы очень, даже на английском.

Цитата:
Дядя Миша писал:
Вспоминай шуточные программы, которые на всех диалогах заменяли слова Да\Нет\Отмена на Пофиг\Нафиг\Нефиг.


Одно дело изменить уже существующий элемент, другое дело добавить новый. Я находил программы которые позволяют двигать элементы интерфейса и менять им флаги, но не знаю, можно ли таким макаром добавлять новые?

Цитата:
Дядя Миша писал:
Единственное что - добавив новый контрол ты не добавишь этой программе функциональности. Т.е. нажатие кнопки не будет ничем обрабатываться.


Можно подробнее? Ну сама то кнопка жмакаться будет? По идее можно из памяти событие отловить? Меня смущает этот hInstance который нужно указывать при создании кнопки. Как он работает?

C++ Source Code:
1
CreateWindow(
2
L"BUTTON",  // Predefined class; Unicode assumed
3
L"OK",      // Button text
4
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  // Styles
5
10,         // x position
6
10,         // y position
7
100,        // Button width
8
100,        // Button height
9
hWnd,     // Окно которое получаю по имени .exe процесса.
10
NULL,       // No menu.
11
(HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE), // вот эта фигня у меня возвращает 0x0000000000000000 как это проверить?
12
NULL);      // Pointer not needed.
13
 


Отредактировано FiEctro 27-04-2023 в 12:09

Сообщить модератору | | IP: Записан
Сообщение: 214170

Старое сообщение 27-04-2023 11:56
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



C++ Source Code:
1
WINUSERAPI
2
HWND
3
WINAPI
4
CreateWindowExA(
5
DWORD dwExStyle,
6
LPCSTR lpClassName,
7
LPCSTR lpWindowName,
8
DWORD dwStyle,
9
int X,
10
int Y,
11
int nWidth,
12
int nHeight,
13
HWND hWndParent ,
14
HMENU hMenu,
15
HINSTANCE hInstance,
16
LPVOID lpParam);

hInstance - это инстанс модуля .exe. Для создания окошек внутри своего приложения он равен нулю и это нормально. Для создания окошек внутри чужого, очевидно надо его как-то найти. Я подобными вещами не занимался, поэтому не знаю, как это делается, но подобные функции в WinAPI есть 100%.
hWndParent - это хэндл родительского окна, т.е. окна на которое ты хочешь добавить свой контрол. Ещё обрати внимание - очень важно указать правильный className, его нельзя вбивать от балды, он должен совпадать с класснеймом, используемым для того окна, на которое ты хочешь добавить контрол. Иначе ничего не получится. Класснеймов таких приложение может использовать несколько, но зачастую и одного достаточно.

Добавлено 27-04-2023 в 15:28:

А и ещё важный момент. В винде есть зарезервированные класснеймы, такие как EDIT, COMBOBOX, BUTTON и прочие. Они используются вот как раз для создания функциональных элементов.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214172

Старое сообщение 27-04-2023 12:28
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг




Ну вот к примеру. Что с чем соотносится?

Цитата:
Дядя Миша писал:
hWndParent - это хэндл родительского окна, т.е. окна на которое ты хочешь добавить свой контрол. Ещё обрати внимание - очень важно указать правильный className,


Т.е. он имя класса должен возвращать? Как вообще правильно перевести хендл? Везде так пишут, но я всеравно не понимаю смысла.

Цитата:
Дядя Миша писал:
hInstance - это инстанс модуля .exe.


Т.е. это просто модуль записанный в память? А сдвиг ему нужен какой?

Отредактировано FiEctro 27-04-2023 в 12:50

Сообщить модератору | | IP: Записан
Сообщение: 214174

Старое сообщение 27-04-2023 12:37
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 12:19. Новая тема    Ответить
Страницы (5): « 1 [2] 3 4 5 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Вопросы по WinAPI
GetAsyncKeyState и все-все-все
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024