Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214

Службы, имена процессов и fatal error LNK1120

29.04.2012, 23:25. Показов 1227. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи, уважаемые господа.
Ко мне поступило задание: написать dll и приложение к нему, чтобы отображались процессы, имена процессов, службы и обозначение какие из служб работают, а какие нет. использовать winAPI.
Собственно проблемы: какая функция показывает список служб? я в msdn искал, не нашел. какая функция пишет работают ли службы или нет? и какая функция покажет мне имя каждого процесса? пример : chrome.exe - Google Chrome. вот ехе-файл я знаю как найти, а вот имя - нет. Очень надо, реально, уже неделю изучаю интернет и никакого результата.
а теперь производственная проблема: fatal error LNK1120 возникло при создании приложения для dll.
как тут прикрепить файлы?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2012, 23:25
Ответы с готовыми решениями:

Fatal error LNK1120:
Output: ------ Построение начато: проект: Lab1, Конфигурация: Debug Win32 ------ 1> Lab1.cpp 1>Lab1.obj : error LNK2028: ...

fatal error LNK1120
Всем привет. При компиляции выбивает такую ошибку: 1>LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup" ...

Error LNK2019 и fatal error LNK1120
Копаюсь в гугле уже часа 2. Не понимаю, в чем проблема. Вроде нигде ошибок в коде нету, но выдает: 1>------ Построение начато:...

3
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
30.04.2012, 00:02  [ТС]
вот приложил архив: все, где есть simple - это создание dll, а main+подключенная библиотека simpleH- это самоп риложение.
ошибку приложил в виде скрина.
Миниатюры
Службы, имена процессов и fatal error LNK1120  
Вложения
Тип файла: zip DLL+app.zip (11.9 Кб, 11 просмотров)
0
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
30.04.2012, 16:48  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <windows.h>
#include <stdio.h>
 
BOOL GetServiceList();
 
int main()
{
    GetServiceList();
}
 
BOOL GetServiceList()
{
    TCHAR szCommand[10];
    TCHAR szSvcName[80];
    SC_HANDLE hSCManager;
    SC_HANDLE hService;
    ENUM_SERVICE_STATUS_PROCESS svc;
    DWORD dwBytesNeeded;
    BOOL Check;
 
   hSCManager=OpenSCManager(NULL, NULL,SC_MANAGER_ALL_ACCESS);
 
   if (hSCManager == NULL) 
    {
        printf("OpenSCManager failed (%d)\n", GetLastError());
        return(FALSE);
    }
   hService = OpenService( hSCManager,szSvcName,SERVICE_QUERY_STATUS);
 
   if (hService == NULL)
    { 
        printf("OpenService failed (%d)\n", GetLastError()); 
        CloseServiceHandle(hSCManager);
        return(FALSE);
    } 
}
If the current user does not have proper access when connecting to a service on another computer, the OpenSCManager function call fails.

Так написано в MSDN. НО я являюсь администратором своего ноута, если можно так выразиться, и для входа не использую пароль. Тогда ПОЧЕМУ "OpenSCManager function call fails. "?
Миниатюры
Службы, имена процессов и fatal error LNK1120  
0
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
30.04.2012, 18:54  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <windows.h>
#include<iostream>
 
 
BOOL GetServiceList();
 
int main()
{
    GetServiceList();
}
 
BOOL GetServiceList()
{
    SC_HANDLE hSCManager=OpenSCManager(NULL, NULL,SC_MANAGER_ENUMERATE_SERVICE);
 
    if (hSCManager == NULL) 
    {
        printf("OpenSCManager failed (%d)\n", GetLastError());
        return(FALSE);
    }
 
    ENUM_SERVICE_STATUS_PROCESS *svc;
    DWORD dwBytesNeeded=0;
    DWORD dwServicesReturned = 0;
    BOOL bSuccess = EnumServicesStatusEx(hSCManager, 
                                SC_ENUM_PROCESS_INFO,
                                SERVICE_WIN32, 
                                SERVICE_STATE_ALL, 
                                (LPBYTE)&svc,
                                0,
                                &dwBytesNeeded, 
                                &dwServicesReturned,
                                0, 
                                NULL);
        
    if (!bSuccess ||( GetLastError()==ERROR_MORE_DATA))
    {
        DWORD dwBytes = dwBytesNeeded;
        svc = (ENUM_SERVICE_STATUS_PROCESS*) new BYTE[dwBytes];
        EnumServicesStatusEx(hSCManager, 
                            SC_ENUM_PROCESS_INFO,
                            SERVICE_WIN32, 
                            SERVICE_STATE_ALL, 
                            LPBYTE(svc),
                            dwBytes,
                            &dwBytesNeeded, 
                            &dwServicesReturned,
                            0, 
                            NULL);
    }
 
    for(unsigned i=0; i<dwServicesReturned; i++)
    std::wcout << svc[i].lpServiceName << std::endl;
 
    CloseServiceHandle(hSCManager);
 
}
Получился вот такой код. Но здесь выводит только имена служб, а мне еще нужен ехе-файл и состояние(работает/ остановлено).
svc.lpDisplayName, svc.ServiceStatusProcess - отвечают за это? если да, то как из подключить?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
for(unsigned i=0; i<dwServicesReturned; i++)
    {
    std::wcout << svc[i].lpServiceName << std::endl;
    
    SC_HANDLE hSCService=OpenService(hSCManager,svc[i].lpServiceName ,SERVICE_QUERY_STATUS);
 
    if (hSCService == NULL) 
    {
        printf("OpenService failed (%d)\n", GetLastError());
        return(FALSE);
    }
   DWORD Check=QueryServiceStatusEx( 
            hSCService,                     
            SC_STATUS_PROCESS_INFO,         
            (LPBYTE) svc,             
            0, 
            &dwBytesNeeded );
    if (Check == NULL)
    {
        DWORD dwBytes = dwBytesNeeded;
        svc = (ENUM_SERVICE_STATUS_PROCESS*) new BYTE[dwBytes];
        QueryServiceStatusEx( 
            hSCService,                     
            SC_STATUS_PROCESS_INFO,         
            (LPBYTE) svc,             
            dwBytes, 
            &dwBytesNeeded );        
    }
            std::wcout <<svc[i].lpDisplayName << std::endl;
        printf("%s\n", svc[i].ServiceStatusProcess );
    }
    CloseServiceHandle(hSCManager);
 
}
я попобовал вот так, но не работает. ПОдскажите, пожалуйста, что делать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2012, 18:54
Помогаю со студенческими работами здесь

Ошибка fatal error LNK1120 в коде
#include &lt;stdio.h&gt; void main() { int mas, p, max, min, i, sum = 0, proiz = 1, temp = 0, temp2 = 0; printf(&quot;vvedi p\n&quot;); ...

fatal error LNK1120: ? как исправить?
project in visual studio 2012 .. и при компиляции ругается. помогите разобратся.... 1&gt;------ Build started: Project:...

В чём ошибка? fatal error LNK1120
Добрый вечер) Вот код, состоящий из класса(отдельного файла) и главной функции: #pragma once namespace Program { class...

fatal error LNK1120: 1 неразрешенных внешних элементов
ту проблему исправил. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class rational { public: int...

fatal error LNK1120: 1 неразрешенных внешних элементов
не понимаю где и в чем проблема???? #include&lt;iostream&gt; using namespace std; void main() {float a,b,c,p,S,max,min,sr; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru