HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

WinAPI в Delphi
  #1  
Старый 19.02.2010, 16:53
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию WinAPI в Delphi

В общем, не догоняю, как объявить API-функцию.

Из гугла/яндекса толкового почти ничего не выжал. только примерно вот это (и то не работает)
Код:
function GetWindowDC(Wnd: HWnd): hDC;
stdcall; extenal 'user32.dll' name 'GetWindowDC';
Всяко экспериментировал, но нирвзу не заработало. Честно говоря, я ваще толком не знаю, куда это писать... Объясните дураку...

И ещё пытался с реестром бодаться (Там функции в 'Windows' объявлены). Тоже не вышло ничего, хотя в ВБ те же функции спокойно юзаю...

Последний раз редактировалось DiffiT; 19.02.2010 в 16:57..
 
Ответить с цитированием

  #2  
Старый 19.02.2010, 17:13
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 569
С нами: 10943066

Репутация: 1236


По умолчанию

пока на нее не подсел переходи на цпп)
__________________


snow white world wide
 
Ответить с цитированием

  #3  
Старый 19.02.2010, 17:15
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию

Цитата:
Сообщение от sn0w  
пока на нее не подсел переходи на цпп)
не подсяду) просто всё по порядку
 
Ответить с цитированием

  #4  
Старый 19.02.2010, 17:43
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
С нами: 9138151

Репутация: 76
По умолчанию

uses Windows
Эта функция там описана
 
Ответить с цитированием

  #5  
Старый 19.02.2010, 17:45
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию

Цитата:
Сообщение от 0rs  
uses Windows
Эта функция там описана
Мне не конкретно эту функцию надо.
 
Ответить с цитированием

  #6  
Старый 19.02.2010, 17:47
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию

Млин, вся опа в том, что вопрос простейший, а ответа нет. Просто дельфин не родной для мну язык, вот и парюсь
 
Ответить с цитированием

  #7  
Старый 19.02.2010, 17:53
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
С нами: 9138151

Репутация: 76
По умолчанию

Вроде в первом посту функция выглядит правильно. Может только в одну строку ее записать. А что конкретно не работает?
 
Ответить с цитированием

  #8  
Старый 19.02.2010, 17:54
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
С нами: 9399214

Репутация: 52
По умолчанию

DiffiT
Код:
unit ....;
   uses
       windows;
.......
function GetWindowDC(Wnd: HWnd): hDC;
stdcall; extenal 'user32.dll' name 'GetWindowDC';

  function GetModuleFileNameEx(hProcess: THandle; hModule: HINST;
    lpFilename: PChar; nSize: DWORD): DWORD; stdcall; external 'psapi.dll'
    name 'GetModuleFileNameExA';
    
  function EnumProcessModules(hProcess: THandle; lphModule: LPDWORD; cb: DWORD;
                              Var lpcbNeeded: DWORD): BOOL Stdcall; external 'psapi.dll'
    name 'EnumProcessModules';


implementation
....
end.
в модуле должно выглядеть примерно так
если ты объявляешь функцию так же как она в библиотеке названа то имя
Код:
name 'GetModuleFileNameExA';
можно не писать..

Последний раз редактировалось transserg; 19.02.2010 в 17:57..
 
Ответить с цитированием

  #9  
Старый 19.02.2010, 18:11
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию

Цитата:
Сообщение от transserg  
DiffiT
Код:
unit ....;
   uses
       windows;
.......
function GetWindowDC(Wnd: HWnd): hDC;
stdcall; extenal 'user32.dll' name 'GetWindowDC';

  function GetModuleFileNameEx(hProcess: THandle; hModule: HINST;
    lpFilename: PChar; nSize: DWORD): DWORD; stdcall; external 'psapi.dll'
    name 'GetModuleFileNameExA';
    
  function EnumProcessModules(hProcess: THandle; lphModule: LPDWORD; cb: DWORD;
                              Var lpcbNeeded: DWORD): BOOL Stdcall; external 'psapi.dll'
    name 'EnumProcessModules';


implementation
....
end.
в модуле должно выглядеть примерно так
если ты объявляешь функцию так же как она в библиотеке названа то имя
Код:
name 'GetModuleFileNameExA';
можно не писать..
вроде, так и делаю.. =) щас ещё раз попробую
 
Ответить с цитированием

  #10  
Старый 19.02.2010, 18:17
DiffiT
Участник форума
Регистрация: 15.12.2009
Сообщений: 138
С нами: 8634346

Репутация: 16
По умолчанию

спасибо, заработало)))) не туда писал, как оказалось)))) Пробовал писать в type, как функцию формы, пробовал в public и в private щас вкурил, зачем там end был))))
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Литература Delphi Sams С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 2 19.03.2010 19:46
Скачать Delphi 7, помощь. _casper_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 20 08.12.2009 04:54
Virus.Win32.Induc.a – новый вирус для Delphi ErrorNeo Уязвимости 37 26.08.2009 00:33
Virus.Win32.Induc.a или "Снова записки новичка" _=(mac)=_ Защита ОС: вирусы, антивирусы, файрволы. 5 24.08.2009 23:34
Помогите с WinAPI в Delphi EST a1ien С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 13 12.10.2006 11:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.