@FlowerKing

Как узнать WinAPI функцию?

Всем привет.
Не кидайте сильно камнями, но у меня никак в голове не уживается вопрос, и не приходит никаких мыслей по такому вот вопросу

Как мне узнать нужную winapi функцию.

Сейчас учу C++ хочу попробовать параллельно учить winapi, но не знаю как подступиться. Читал книги по winapi, все понятно, но автор приводит код, где используются некие функции. Все бы хорошо,я уяснил, что такие фукции есть. А вот если мне нужна например функция X которая делает Y, как мне узнать, что то про эту функцию.

Естественно имя функции X я не знаю.
Стандартный ответ будет-читай MSDN.
Ок.
Но опять же,что в поисковой строке на MSDN вводить? X которая делает Y?

А если мне нужно 200 таких функций?
X сделала Y результат работы X я передал в Z и так по накатанной.

Гуглить все время нечто вроде
- Как с помощью WinAPI узнать локальный IP, как с помощью WinAPI создать окно, как с помощью WinAPI.........., какой то костыль.

Надеюсь вопрос мой понятен, хоть и подозреваю что туп.

Чтобы не создавать отдельную тему, сразу спрошу все то же, но относящееся к Linux, так на будущее.

Есть ли у Linux нечто вроде MSDN?

Или узнать api функции Linux можно только из исходников?
Без подобного понимания я вообще застрял в обучении, и приходится, мягко говоря, туго.
  • Вопрос задан
  • 660 просмотров
Пригласить эксперта
Ответы на вопрос 4
micbsv
@micbsv
.NET Web-developer
Вообще-то совет "читать MSDN" совершенно правильный. Но есть нюанс - весь MSDN вы, конечно, вряд ли осилите, поэтому я бы рекомендовал пробежаться глазами не по всем функциям API в алфавитном порядке, а по облястям где они применяются.

Вот здесь они очень хорошо сгруппированы, плюс в разделе Examples каждой из них вы найдете ссылки на статьи и примеры.

Стоит так же напомнить, что API функции неразрывно идут со структурами, ивентами и макросами.
Ответ написан
Комментировать
sim3x
@sim3x
https://www.google.com.ua/search?q=msdn+winapi

https://www.google.com.ua/search?q=msdn+winapi+get...

В линуксе ищем библиотеку, которая занимается и делаем man lib_name в консоли
Или читаем исходники библиотеки

Естесственно - можно также гуглить
https://www.google.com.ua/search?q=linux+c%2B%2B+a...
Ответ написан
Комментировать
AlexXYZ
@AlexXYZ
O Keep Clear O
>> Без подобного понимания я вообще застрял в обучении, и приходится, мягко говоря, туго.
Кто-то обещал, что будет легко??? Мы тут все окукливаемся и не жалуемся. Привыкайте ))) Добро пожаловать в профессию.

Ну а по поводу функций, сами они, конечно, не найдутся, но читаете документацию в соответствующем разделе и достигаете результата.

>> Но опять же,что в поисковой строке на MSDN вводить? X которая делает Y?
Обычно да. Только нужно иметь верную догадку, что Y делается именно X-ом.

>> Стандартный ответ будет-читай MSDN
Ну вы так сразу на всех не ополчайтесь. Обычно такой ответ означает, что вы перешли границы, потому что никто не любит решать задачу за вас. Имейте совесть не просить сделать что-то за вас. Разбивайте вопрос на части и по одному задавайте. Конкретно. Что хотите, что уже сделали, скрины и т.д. Нужно, чтобы была видна ваша работа, тогда участникам будет вам интересно помогать.

>> Сейчас учу C++
Вы и не рассчитывайте, что вот прям сейчас у вас что-то и получится ))) Обучение - процесс длительный и итерационный. Разве что с опытом он начинает идти быстрее.

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

P.S.
Посоветую из личного опыта - заведите блокнот бумажный/электронный, не важно. Записывайте в него то, что вы узнали и обязательно потом перечитывайте его!!!
Ответ написан
Комментировать
@AtaZ
кто знает, тот поймет
Я изучая ассемблер постоянно сталкивался с подобной проблемой, но решал так. Находил программу (желательно производства мелкософта) и реверсил в поисках нужной апи, причем спускался на нужный уровень, что было весьма удобно если не хотелось возиться с тысячью указателей и буферов, когда просто передаешь десяток параметров и радуешься результату. Проще этот способ или нет, не знаю, но дает не только название, но и опыть использования т.к. не всегда из msdn понятно, что передавать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы