Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Падение на PowerReadFriendlyName() https://www.cyberforum.ru/ win-api/ thread280439.html
Есть задача: перечислить все существующие схемы питания "семерки". Пробовал EnumPowrSchemes, но она для ХР и возвращает иной список, чем можно увидеть через панель управления. Начиная с висты, используется PowerEnumerate. Хорошо, ее и будем использовать. Сразу скажу, что использую компилятор MinGW + IDE Relo. Т.к. в стандартных хидерах нет объявления этих функций, то грузим их напрямую из...
C++ WinAPI обработка сообщений
1)как обработать событие WM_MOUSEMOVE на кнопке? 2)для регистрируемого класса окна указывается функция обработки сообщения, а можно ли ее назначить для системного класса окна (button,edit и тд.)?
C++ WinAPI Закрасить область https://www.cyberforum.ru/ win-api/ thread280093.html
Пишу программу на Borland C++ 5.02 В программе нужно нарисовать фигуру закрашенную тем цветом который выберет пользователь. Вот код полностью: #include <windows.h> #include <windowsx.h> #define IDM_10px 110 #define IDM_5px 105 #define IDM_3px 103 #define IDM_1px 101 #define IDM_Red1 12
C++ WinAPI Отключение звука https://www.cyberforum.ru/ win-api/ thread279687.html
Всем привет! Необходимо реализовать программное отключение звука. Проблема в том, что ф-ия waveOutSetVolume(IntPtr.Zero, 0); из winmm.dll не производит никакого эфекта на семерке. Что делать?
Управление калькулятором C++ WinAPI
Здравствуйте, пишу на VC++ 2008, подскажите примерами, как управлять калькулятором из другой программы? Например сложить два числа и естественно получить результат.
C++ WinAPI Стиль диалогового окна Здравствуйте, помогите разобраться в стилях диалоговых окон, а именно подсказать какой необходимо стиль для: Надо чтобы диалоговое окно создавалось с 1-й кнопкой (выключения) или вообще без заголовка, но чтобы была возможность изменять размер окна перетаскивая края мышкой. Вот мой диалог: IDD_MAIN DIALOGEX 0, 0, 316, 180 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP |... https://www.cyberforum.ru/ win-api/ thread279346.html
C++ WinAPI Как изменять размеры дочернего окна при изменении размеров родительского? https://www.cyberforum.ru/ win-api/ thread278419.html
Есть главное окно и внутри него прорисовано дочернее(благодаря стилю WS_BORDER), которое разделяет клиентскую зону пополам. Но я столкнулся с проблемой, а именно при увеличении/уменьшении размеров главного окна, дочернее окно не меняет свои формы, и я понимаю что не должно само по себе оно это делать. Вот только как сделать так, чтобы дочернее окно измянло свои размеры при изменении размеров...
C++ WinAPI Отлов ошибок. GetLastError()
Отлов ошибок, ошибка регистрации окна, ошибка создания окна, ошибка создания дочернего окна. Может кому пригодится.. #include <windows.h> #include "windowsx.h" #include "winerror.h" int EXIT_BTN = 10001; int NEW_FORM = 10002;
C++ WinAPI пара вопросов по апи функциям всем привет,помогите плиз разобратся с несколькими странными фиговинами ) 1)есть некая ф-я getfreediskspaceex,которая даёт вот такую вот ошибку : инструкция по адресу "0х5f4364a4" обратилась к памяти по адресу "0x00000021" память не может быть "read" на другом компе проверял,который поновее чем мой там всё работает, но на некоторых дисках теряет куда то 4 гб,обычно это системный диск,где то... https://www.cyberforum.ru/ win-api/ thread277928.html C++ WinAPI Вывод кнопок в выпадающем окне панели задач https://www.cyberforum.ru/ win-api/ thread277265.html
Здравствуйте, собственно такой вот у меня вопрос: Возможно-ли в своей проге, реализовать такой-же вывод функциональных кнопок в выпадающем окне панели задач, как вот например в winamp'е?
C++ WinAPI Создание анонимного канала
привет, всем! задача такова: создать две программы. Первая представляет процесс-родитель, вторая процесс потомок. Процесс - родитель создает анонимный канал, запускает потомка у которого стандартный поток ввода перенаправлен на поток ввода анонимного канала, передает данные через канал процессу-потомку. Потомок же получает данные от родителя через стандартный поток ввода, и вывод полученных...
C++ WinAPI Перехват нажатия клавиш в Edit Control WinApi Добрый вечер! Помогите пожалуйста решить проблему! У меня есть диалоговое окно на нем Edit Control, нужно определить время нажатия клавиши в эдите. Как я понимаю, мне нужно получить сообщение WM_KEYDOWN, но где ж его получить, как достать оконную процедуру едита и возможно ли это!? Изучаю с++ win api самостоятельно,много не понимаю! Пробовала пользоваться ф-цией SetWindowLong ерунда какая-то... https://www.cyberforum.ru/ win-api/ thread277214.html
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
22.04.2011, 15:34  [ТС] 0

сервис - C++ WinAPI - Ответ 1576723

22.04.2011, 15:34. Показов 5005. Ответов 11
Метки (Все метки)

Ответ

спасибо bobrovskii с твоим кодом буду разбираться.
я тут поторопился сказать,что вопрос с утилитами снимается,он все еще актуален!
делаю так
sc create Name binpath= Path_to_program
теперь служба появилась в консоли и в консоли я нажимаю старт,ошибок никаких нет,но программа ничего не делает!!!!! а должна создать файл.Т.е я понимаю такчто при нажатии на старт,автоматически вызывается фун StartService(),или я ошибаюсь?
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include<windows.h>
#include<iostream>
#include<fstream>
using namespace std;
static SERVICE_STATUS hs;
static SERVICE_STATUS_HANDLE hstat;
void WINAPI sermain(DWORD argc,LPTSTR argv[]);
void WINAPI serctrlh(DWORD dwcontrol);
LPTSTR sername=_T("MY_TEST");
ofstream out;
int count;
int main() {
SERVICE_TABLE_ENTRY tab[]={{sername,sermain},{NULL,NULL}};
DWORD check;
if(!StartServiceCtrlDispatcher(tab)) {
 check=GetLastError();
 if(check==ERROR_FAILED_SERVICE_CONTROLLER_CONNECT)
 cout<<"1";
 else if(check==ERROR_INVALID_DATA)
 cout<<"2";
 else if(check==ERROR_SERVICE_ALREADY_RUNNING)
 cout<<"3";
cout<<"\nbug1";
cin.get();
}
return 0;
}
void WINAPI sermain(DWORD argc,LPTSTR argv[]) {
hstat=RegisterServiceCtrlHandler(sername,serctrlh);
if(!hstat) {
out.open("serfile.txt");
if(!out) {
    cout<<"bf1";
    cin.get();
    return;
}
out<<"bug regeterhandle\n";
out.close();
return;
}
hs.dwServiceType=SERVICE_WIN32_OWN_PROCESS;
  hs.dwCurrentState=SERVICE_START_PENDING;
  hs.dwControlsAccepted=SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;
  hs.dwWin32ExitCode=0;
  hs.dwServiceSpecificExitCode=0;
  hs.dwCheckPoint=0;
  hs.dwWaitHint=0;
//устанавливаем состояние сервиса
if(!SetServiceStatus(hstat,&hs)) {
out.open("serfile.txt");
if(!out) {
    cout<<"bf2";
    cin.get();
    return;
}
out<<"bug servicestatus 1\n";
out.close();
return;
}
//определяем сервис как работающий
hs.dwCurrentState=SERVICE_RUNNING;
//нет ошибок
hs.dwWin32ExitCode=NO_ERROR;
if(!SetServiceStatus(hstat,&hs)) {
out.open("serfile.txt");
if(!out) {
    cout<<"bug3";
    cin.get();
    return;
}
out<<"bug servicestatus 2\n";
out.close();
return;
}
out.open("serfile.txt");
if(!out) {
    cout<<"bug4";
    cin.get();
    return;
}
out<<"ser is started\n"<<"name is "<<argv[0]<<endl;
//work cicle of service
 
while(hs.dwCurrentState==SERVICE_RUNNING) {
count++;
Sleep(100);
}
 
}
void WINAPI serctrlh(DWORD dwcontrol) {
 
 
switch(dwcontrol) {
case SERVICE_CONTROL_STOP:
out<<"count="<<count<<endl;
out.close();
hs.dwCurrentState=SERVICE_STOPPED;
SetServiceStatus(hstat,&hs);
break;
case SERVICE_CONTROL_SHUTDOWN:
hs.dwCurrentState=SERVICE_STOPPED;
SetServiceStatus(hstat,&hs);
break;
}
return;
}
Добавлено через 53 минуты
все,с утилитами разобрался проблема была в указании пути,где создавать лог файл. пришлось прописать полный путь где надо создавать лог файл

Добавлено через 2 часа 44 минуты
со второй частью вопроса тоже разобрался
Служба не может вызвать StartService в ходе инициализации. Причина в том, что Диспетчер управления службами (SCM) в ходе инициализации блокирует базу данных управления службой, таким образом вызов StartService блокируется. Как только служба сообщает Диспетчеру управления службами (SCM), что она успешно запустилась, служба может вызвать StartService.

Вернуться к обсуждению:
сервис C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2011, 15:34
Готовые ответы и решения:

WinXp сервис
Есть программное обеспечение, которое включает в себя сервис. На win7 работа его была стабильной. В...

Интерактивный сервис (служба)
std::cout &lt;&lt; &quot;Привет всем!&quot;; Хочу сделать так, чтобы сервис мог создавать окна GUI. Просто...

Сервис поиска нужной функции
Всем привет! Хотел спросить у знающих людей: существует ли какой-нибудь сервис, где можно внести...

Нужен совет - как отлаживать сервис ?
Содрал код отсюдого http://asawicki.info/news_1404_coding_windows_services_in_c.html ...

11
22.04.2011, 15:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2011, 15:34
Помогаю со студенческими работами здесь

Web-сервис на C++?
предыстория такова: встретились,как-то,два совсем начинающих на С++.И как обычно завели &quot;умный&quot;...

Писать сервис на мобильные платформы стандартно (нативно, под каждую отдельно) или Qt/C++ (кросплатформенно)?
Друзья, хэлп! Ведём переговоры с разными командами разработчиков. Встали перед сложным выбором....

Laravel расскажите про сервис провайдеры и сервис контейнеры
Всю доку перечитала, все равно ничего понять не могу про них. Везде пишут, что это центральные...

Сервис для уведомлений. Ошибка на небольшом кол-ве клиентов. Сервис слишком занят, чтобы обработать запрос
Уже несколько дней не могу разобраться в чём причина. Код проекта для тестирования прилагаю....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru