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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2018, 11:01   #1
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию Привязан ли Win32 API к каком-либо языку программирования?

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

Один форумчанин написал, что Win32 API вообще привязан к языку программирования.

Можете здесь обсуждать.
Drekon вне форума Ответить с цитированием
Старый 29.05.2018, 11:07   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

я иногда использую WinAPI, когда пишу программы на Delphi. а, значит, я по большей части использую Паскаль и буду норовить предложить решение на Паскале.
или вам нужны программы и помощь ну, прям, на чистейшем API?
Вот пример моего кода:
Код:
type TKeyboardState=array[0..255]of Byte;
     TFNHookProc=function(code:Integer;wparam:LongInt;lparam:LongInt):LongInt;stdcall;
function CallNextHookEx(hhk:LongWord;nCode:Integer;wParam:LongInt;lParam:LongInt):LongInt;stdcall;external 'user32.dll' name 'CallNextHookEx';
function FindWindow(lpClassName,lpWindowName:PChar):LongWord;stdcall;external 'user32.dll' name 'FindWindowA';
function GetKeyboardState(var KeyState:TKeyboardState):LongBool;stdcall;external 'user32.dll' name 'GetKeyboardState';
function PostMessage(hWnd:LongWord;Msg:LongWord;wParam:LongInt;lParam:LongInt):LongBool;stdcall;external 'user32.dll' name 'PostMessageA';
function SetWindowsHookEx(idHook:Integer;lpfn:TFNHookProc;hmod:LongWord;dwThreadId:LongWord):LongWord;stdcall;external 'user32.dll' name 'SetWindowsHookExA';
function UnhookWindowsHookEx(hhk:LongWord):LongBool;stdcall;external 'user32.dll' name 'UnhookWindowsHookEx';

var HookHandle:LongWord=0;
    MouseHook:LongWord=0;
    CBTHook:LongWord=0;
    KeybrdState:TKeyboardState;
//----- в параметре WParam передаём код клавиши --------------------------------
function KeyHook(code,WParam,LParam:LongWord):LongWord;stdcall;
begin
   if(code=0)then
   begin
      GetKeyboardState(KeybrdState);
      PostMessage(FindWindow(nil,'123'),$0400+1,WParam,0);
   end;
   Result:=CallNextHookEx(HookHandle,code,WParam,0);
end;

function LowLevelMouseProc(code,WParam,LParam:LongWord):LongWord;stdcall;
begin
   Result:=CallNextHookEx(MouseHook,code,WParam,LParam);
   PostMessage(FindWindow(nil,'123'),$0400+1,WParam,0);
end;

function CBTProc(code,Wparam,LParam:LongWord):LongWord;stdcall;
begin
   Result:=CallNextHookEx(CBTHook,code,WParam,LParam);
   if(0<code)and(code<10)then PostMessage(FindWindow(nil,'123'),$0400+1,WParam,0);
end;
Какой язык программирования просматривается в оформлении кода: C++ или Pascal?
Ну, явно не С++ с его скобочками {}...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 29.05.2018 в 11:17.
NetSpace вне форума Ответить с цитированием
Старый 29.05.2018, 11:12   #3
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

Win32 API можно использовать несколькими языками программирования: C#, VB.Net, Паскаль.
На форуме есть раздел Win API. Я задаю вопросы по Win API, а не по языку программирования. Мне предлагают решения на языке программирования.
Drekon вне форума Ответить с цитированием
Старый 29.05.2018, 11:14   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ну не задавай вопросы, если не нравятся ответы ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.05.2018, 11:19   #5
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
или вам нужны программы и помощь ну, прям, на чистейшем API?
Мне нужно знать, какую использовать Win32 API функцию, а где я её буду использовать, это уже не важно, т.к. я создаю темы в разделе Win API или это форум по паскалю и любой раздел подразумевает использование паскаля? Я думал, что этот форум по нескольким языкам программирования.

Win32 API функций много, я их использую редко и плохо в них ориентируюсь. Сначала ищу через гугл, если не нахожу, то создаю тему на форуме.
Drekon вне форума Ответить с цитированием
Старый 29.05.2018, 11:21   #6
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

Есть идея сделать лопату. Но, лучше из какого-либо твёрдого материала. С++ - это дерево. Pascal - пластик. А копать снег или землю одной идеей не получится. надо её воплотить в каком-то материале, чтоб заработало... так же и с API...
так я тоже методом тыка, проб и ошибок ищу иногда нужные функции и спрашиваю исходники, но на любимом мне языке
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 29.05.2018, 11:24   #7
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

NetSpace, Win32 API функции универсальные, их можно использовать из С#, VB.Net, паскаля. Достаточно знать, какую использовать Win32 API функцию.
К тому же я задавал вопросы, в которых просто спрашивал, какую Win32 API функцию использовать, а не как её использовать.
Drekon вне форума Ответить с цитированием
Старый 30.05.2018, 10:14   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Пилять ... я валяюсь. А чистейший WinAPI на чем написан?? Из цветочков сложен чтоли??
Открываем вики и смотрим:
Цитата:
Windows API спроектирован для использования в языке Си для написания прикладных программ, предназначенных для работы под управлением операционной системы MS Windows.
На Си Карл. Что это если не привязка к языку? ТС это походу человек у которого есть два мнения "Свое и не правильное".
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 30.05.2018, 10:16   #9
Drekon
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 45
По умолчанию

Спроектирован для Си, а используется не только Си.
Drekon вне форума Ответить с цитированием
Старый 30.05.2018, 10:24   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

И? Я из Java могу асм вызвать. О чем это говорит? Вин АПИ - это набор Сишных функций со своими соглашениями о вызове / передаче параметров и прочими вещами. От этого никуда не смыться. А дальше вы может хоть из пальца их вызывать...
p51x на форуме Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обучающая среда обучения языку программирования Alxdr C# (си шарп) 3 24.01.2016 14:26
Выясннить в каком месте кода происходит win32 ошибка C# проект lightforever Фриланс 0 10.05.2011 17:34
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
как открыть файл php в каком-либо браузере osichev Помощь студентам 3 24.03.2010 20:58