Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Как использовать функции API

Ответить
Настройки темы
C/C++ - [решено] Как использовать функции API

Аватара для charon

Старожил


Сообщения: 150
Благодарности: 13


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: charon
Дата: 30-06-2021
С++ только учу.
на https://docs.microsoft.com/en-us/windows/win32/api/
есть исходные коды функций, на этом и все.
Кому не трудно подскажите как их использовать в С++? Те, что в листингах - собираются с ошибками, или вообще не хотят.
У меня
OS Windows 7x64
IDE Code::Block
компилятор GNU GCC
(gcc-11.1.0-64 ссылка)
Как пример, нужен листинг использования функции OpenSCManager.
OpenSCManagerA
Код: Выделить весь код
SC_HANDLE OpenSCManagerA(
  LPCSTR lpMachineName,
  LPCSTR lpDatabaseName,
  DWORD  dwDesiredAccess
);
или
OpenServiceW (winsvc.h)
Код: Выделить весь код
SC_HANDLE OpenServiceW(
  SC_HANDLE hSCManager,
  LPCWSTR   lpServiceName,
  DWORD     dwDesiredAccess
);
В принципе любой простенький! подойдет, лишь бы собрался без ошибок в GCC!.
Hello World не надо! :-)

P.S. может у кого уже готовый завалялся. На FASM тоже пойдет, но лучше С++. Книжка с листингами, тоже хорошо. Повторю - лишь бы собирались без ошибок.

Отправлено: 15:03, 30-06-2021

 

Старожил


Сообщения: 352
Благодарности: 192

Профиль | Отправить PM | Цитировать


charon,
менеджер сервисов с исходниками: https://git.nssm.cc/nssm/nssm

Отправлено: 17:55, 03-07-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для charon

Старожил


Сообщения: 150
Благодарности: 13

Профиль | Отправить PM | Цитировать


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

В данном случае это будет выглядеть так:
Код: Выделить весь код
#include <windows.h>
#include <stdio.h>

int main()
{
SC_HANDLE  schSCManager; //инициализация

schSCManager=OpenSCManagerA(
  NULL,
  NULL,
  SC_MANAGER_ALL_ACCESS);

  if (NULL == schSCManager)
    {
    printf("OpenSCManager failed (%ld)\n", GetLastError());
    //закрываем дескриптор
    CloseServiceHandle(schSCManager);
    return 0;
    }
    //закрываем дескриптор
     CloseServiceHandle(schSCManager);
}
P.S. И книжку нашел с исходниками Побегайло. "Системное программирование в windows"
Если кому надо залью на облако.

Последний раз редактировалось charon, 04-07-2021 в 13:13.


Отправлено: 12:39, 04-07-2021 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Как использовать функции API

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - Сбой функции NtCreateFile API egorus2010 Microsoft Windows 2000/XP 1 01-05-2018 01:48
Win32 API | Нужна помошь по API функциям! vasika_hk Программирование и базы данных 2 23-05-2006 09:51
Win32 API | Неизвестные функции Savant Программирование и базы данных 9 02-03-2005 10:18
API функции hameg Программирование и базы данных 4 09-03-2004 19:48
API функции Surround Программирование и базы данных 5 27-10-2003 00:06




 
Переход