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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 17:28   #1
Glauberzu
 
Регистрация: 24.08.2010
Сообщений: 3
По умолчанию Winapi.Winbase

Есть несколько функций WinAPI: PowerSetRequest, PowerCreateRequest, SetThreadExecutionState. Хотелось бы научиться их вызывать, что может быть проще))
Проблема в том что согласно MSDN все описаны они в WinBase.h (для С++). WinBase.pas в интернете я нашел только один, но в нем данные функции не фигурировали. Гугленье ничего полезного мне не дало в данном направлении. Я понимаю, что, в принципе, их можно импортировать из kernel32.dll но имхо это крайнее средство. Подскажите где описаны данные функции, чтобы их можно было подключить и "свободно" использовать.

Среда разработки: Embarcadero® Delphi® XE2
OC: win7
PS вопрос больше по Дельфям нежели по ВинАпи, так что тему сделал тут
Glauberzu вне форума Ответить с цитированием
Старый 07.12.2011, 17:45   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> имхо это крайнее средство

и заодно единственное.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 07.12.2011, 17:48   #3
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Что значит
Цитата:
в принципе, их можно импортировать из kernel32.dll но имхо это крайнее средство
Вам и так придется импортировать эти методы, только кроме того еще и портировать все необходимые структуры в Делфи.

Я обычно делаю так:
1. Открываю MSDN, ищу нужную функцию.
2. Нахожу описание всех структур данных, которые использует эта функция.
3. Создаю новый модуль в Делфи, портирую структуры, а также статические вызовы искомых функций.
4. Пишу функции-обертки, удобные для использования, где это имеет смысл.
4. Применяю в работе.

Для работы с WinApi много опыта не нужно, но основные знания типов и их соответствий необходимы.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 07.12.2011, 17:55   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Glauberzu Посмотреть сообщение
Есть несколько функций WinAPI: PowerSetRequest, PowerCreateRequest, SetThreadExecutionState. Хотелось бы научиться их вызывать, что может быть проще))

Гугленье ничего полезного мне не дало в данном направлении. Я понимаю, что, в принципе, их можно импортировать из kernel32.dll но имхо это крайнее средство. Подскажите где описаны данные функции, чтобы их можно было подключить и "свободно" использовать.
ну вот например: ты возьмёшь и сам их импортируешь в программе "как крайнее средство". напимешешь что-то в духе

Код:
function PowerSetRequest(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
function PowerCreateRequest(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
function SetThreadExecutionState(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
ты будешь думать что ты делаешь как крайнее средство, типа "через жопу", неправильно.

И вот в один прекрасный день ты найдёшь хороший WinBase.pas и в нём будет написано:
Код:
function PowerSetRequest(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
function PowerCreateRequest(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
function SetThreadExecutionState(<какие-то там параметры>):<какой-то там тип>;stdcall; external 'имя DLL';
и в этот момент ты поймёшь смысл жизни.
rpy3uH вне форума Ответить с цитированием
Старый 07.12.2011, 17:59   #5
Glauberzu
 
Регистрация: 24.08.2010
Сообщений: 3
По умолчанию

Премного благодарен за оперативный ответ.
Буду импортировать ))
Цитата:
и в этот момент ты поймёшь смысл жизни.
Я уже почти к нему пришел... пора переходить на C++ )))
Glauberzu вне форума Ответить с цитированием
Старый 07.12.2011, 18:06   #6
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

rруЗиН, мы, кажется, ТС с пути верного сбили ну да ладно, кривая выведет куда-нибудь. Как говорится, с Богом)))
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt vs. WinAPI Зелёный_спец Общие вопросы C/C++ 3 12.03.2010 15:34
WinAPI for me Kazimir Фриланс 4 14.12.2009 14:36
БД на WinApi yngwie Win Api 3 09.03.2009 20:54