Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/78: Рейтинг темы: голосов - 78, средняя оценка - 4.95
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12

Написать Service Application, что бы этот сервис висел в службах и работал

06.09.2012, 14:52. Показов 15606. Ответов 65
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток друзья.
Создал Service Application прога компилируеться в *.exe, открываеться и сразу закрываеться.
Как мне зделать что бы этот сервис висел в службах и работал ?
код:
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
//---------------------------------------------------------------------------
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
TService1 *Service1;
//---------------------------------------------------------------------------
__fastcall TService1::TService1(TComponent* Owner)
    : TService(Owner)
{
}
 
TServiceController __fastcall TService1::GetServiceController(void)
{
    return (TServiceController) ServiceController;
}
 
void __stdcall ServiceController(unsigned CtrlCode)
{
    Service1->Controller(CtrlCode);
}
//---------------------------------------------------------------------------
void __fastcall TService1::Timer1Timer(TObject *Sender)
{
    HWND hWnd=FindWindow(NULL,"Диспетчер Задач Windows");
    if(hWnd){ShowMessage("da");}
}
//---------------------------------------------------------------------------
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.09.2012, 14:52
Ответы с готовыми решениями:

Что нужно отключить в СЛУЖБАХ и гр.ПОЛИТИКАХ, что бы Инет не работал?
Помогите. Интернет не работает, он соединяется, пишет что соединен, идет время. Сайты не грузятся. До этого, отключал службы. Боролся...

Какова вероятность того, что в этот день дизельный двигатель работал на солярке?
Электростанция оборудована генератором электрического тока, приводимым во вращение дизельным двигателем. Состояние оборудования и...

Нужен ли лично вам этот сервис? что изменить/добавить?
<p>Добрый день, дамы и господа!</p><p>Запустил сайт с возможностью бесплатного отправления смс с подменой номера. планировал, что...

65
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 15:52  [ТС]
Студворк — интернет-сервис помощи студентам
Убежденный, что то мне не нравиться такое:

Как то не удобно у пользователей такое спрашивать.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 16:06
Ну так не спрашивайте, в чем проблема-то
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 16:21  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Ну так не спрашивайте, в чем проблема-то
При вызове функции CryptProtectData(), появляется это окошко.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 16:27
Попробуйте параметр dwFlags выставить в CRYPTPROTECT_UI_FORBIDDEN.
И не будет ничего появляться.
1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 16:34  [ТС]
Но в этом случае я не знаю пароль и как предполагаю уровень безопасности установлен в средний.

Не по теме:

Просто я не учил английский и не знаю так, что бы можно было статьи читать, а яндекс и гугл так бредова переводят.:-!

0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 16:38
Какой пароль ? Поясните.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 16:50  [ТС]
Если параметр dwFlags выставить в 0
То получаем это:
Жмем уровень безопасности:
Высокий:
А потом при вызове функции CryptUnprotectData() получаем:
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 17:17
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Но в этом случае я не знаю пароль и как предполагаю уровень безопасности установлен в средний.
Ну так и пускай будет средний. Зачем мучить пользователя постоянным вводом пароля ?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 18:12  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Ну так и пускай будет средний. Зачем мучить пользователя постоянным вводом пароля ?
А нельзя никак параметрами это организовать?
Я вот нашел тему там вроде об этом сказано-Секреты DPAPI
Да и что то глазом глянул и немного усомнился в эффективности DPAPI

Добавлено через 33 минуты
Да и кстати если параметр dwFlags выставить в CRYPTPROTECT_UI_FORBIDDEN, CryptProtectData не выполняется.
GetLastError() возвращает 52d.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 18:46
Цитата Сообщение от ivan.-94 Посмотреть сообщение
А нельзя никак параметрами это организовать?
Что именно ? Ввод пароля ?

Цитата Сообщение от ivan.-94 Посмотреть сообщение
Да и что то глазом глянул и немного усомнился в эффективности DPAPI
А зря.

Цитата Сообщение от ivan.-94 Посмотреть сообщение
Да и кстати если параметр dwFlags выставить в CRYPTPROTECT_UI_FORBIDDEN, CryptProtectData не выполняется.
GetLastError() возвращает 52d.
Не верю:
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
#include <stdio.h>
#include <Windows.h>
#include <dpapi.h>
 
#pragma comment(lib, "crypt32.lib")
 
 
 
int main()
{
    DATA_BLOB BlobIn;
    BlobIn.pbData = (BYTE *)"hello";
    BlobIn.cbData = lstrlenA((char const *)BlobIn.pbData);
 
    DATA_BLOB BlobOut;
 
    if (FALSE == CryptProtectData(&BlobIn, NULL, NULL, NULL, NULL,
        CRYPTPROTECT_UI_FORBIDDEN, &BlobOut))
    {
        DWORD const LastError = GetLastError();
        printf("CryptProtectData failed with last error %lu.\r\n", LastError);
        return EXIT_FAILURE;
    }
 
    for (DWORD i = 0; i < BlobOut.cbData; ++i)
    {
        printf("0x%.2lx ", BlobOut.pbData[i]);
    }
 
    LocalFree(BlobOut.pbData);
 
    return EXIT_SUCCESS;
}
Отрабатывает на отлично.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 18:49  [ТС]
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
107
108
109
110
111
112
113
114
#pragma hdrstop
#pragma argsused
#pragma comment(lib, "crypt32.lib")
 
#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
#include <Wincrypt.h>
#define MY_ENCODING_TYPE  (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING)
void MyHandleError(char *s);
 
int _tmain(int argc, _TCHAR* argv[])
{
    // Copyright (C) Microsoft.  All rights reserved.
    // Encrypt data from DATA_BLOB DataIn to DATA_BLOB DataOut.
    // Then decrypt to DATA_BLOB DataVerify.
 
    //-------------------------------------------------------------------
    // Declare and initialize variables.
 
    DATA_BLOB DataIn;
    DATA_BLOB DataOut;
    DATA_BLOB DataVerify;
    BYTE *pbDataInput =(BYTE *)"Hello world of data protection.";
    DWORD cbDataInput = strlen((char *)pbDataInput)+1;
    DataIn.pbData = pbDataInput;
    DataIn.cbData = cbDataInput;
    CRYPTPROTECT_PROMPTSTRUCT PromptStruct;
    LPWSTR pDescrOut = NULL;
 
    //-------------------------------------------------------------------
    //  Begin processing.
 
    printf("The data to be encrypted is: %s\n",pbDataInput);
 
    //-------------------------------------------------------------------
    //  Initialize PromptStruct.
 
    ZeroMemory(&PromptStruct, sizeof(PromptStruct));
    PromptStruct.cbSize = sizeof(PromptStruct);
    PromptStruct.dwPromptFlags = CRYPTPROTECT_PROMPT_ON_PROTECT;
    PromptStruct.szPrompt = L"This is a user prompt.";
 
    //-------------------------------------------------------------------
    //  Begin protect phase.
 
    if(CryptProtectData(
         &DataIn,
         L"This is the description string.", // A description string.
         NULL,                               // Optional entropy
                                             // not used.
         NULL,                               // Reserved.
         &PromptStruct,                      // Pass a PromptStruct.
         0,//CRYPTPROTECT_UI_FORBIDDEN
         &DataOut))
    {
         printf("The encryption phase worked. \n");
    }
    else
    {
        fprintf(stderr, "Error number %x.\n", GetLastError());
        MyHandleError("Encryption error!");
    }
    //-------------------------------------------------------------------
    //   Begin unprotect phase.
 
    if (CryptUnprotectData(
            &DataOut,
            &pDescrOut,
            NULL,                 // Optional entropy
            NULL,                 // Reserved
            &PromptStruct,        // Optional PromptStruct
            0,
            &DataVerify))
    {
         printf("The decrypted data is: %s\n", DataVerify.pbData);
         printf("The description of the data was: %S\n",pDescrOut);
    }
    else
    {
        MyHandleError("Decryption error!");
    }
    //-------------------------------------------------------------------
    // At this point, memcmp could be used to compare DataIn.pbData and
    // DataVerify.pbDate for equality. If the two functions worked
    // correctly, the two byte strings are identical.
 
    //-------------------------------------------------------------------
    //  Clean up.
 
    LocalFree(pDescrOut);
    LocalFree(DataOut.pbData);
    LocalFree(DataVerify.pbData);
    system("pause");
    return 0;
}  // End of main
 
//-------------------------------------------------------------------
//  This example uses the function MyHandleError, a simple error
//  handling function, to print an error message to the
//  standard error (stderr) file and exit the program.
//  For most applications, replace this function with one
//  that does more extensive error reporting.
 
void MyHandleError(char *s)
{
    fprintf(stderr,"An error occurred in running the program. \n");
    fprintf(stderr,"%s\n",s);
    fprintf(stderr, "Error number %x.\n", GetLastError());
    fprintf(stderr, "Program terminating. \n");
    system("pause");
    exit(1);
} // End of MyHandleError
Пример с MSDN
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 18:53
ivan.-94, а Вы чтение MSDN практикуете ?
Я имею в виду описание параметров функций, например.
Преполезнейшая, надо сказать вещь.
К примеру:
CRYPTPROTECT_UI_FORBIDDEN

This flag is used for remote situations where presenting a user interface (UI) is not an option.
When this flag is set and a UI is specified for either the protect or unprotect operation,
the operation fails and GetLastError returns the ERROR_PASSWORD_RESTRICTION code.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 21:07  [ТС]
Я ведь уже говорил, что не знаю английского, что бы читать статьи, а яндекс и гугл перводят отвратительно.

Добавлено через 1 минуту
Да и у меня C++ Builder XE4 не знает dpapi.h

Добавлено через 1 час 3 минуты
Убежденный, можете объяснить подробно ваш пример?

Добавлено через 53 минуты
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
if(!CryptProtectData(
         &DataIn,
         L"This is the description string.", // A description string.
         NULL,                               // Optional entropy
                                             // not used.
         NULL,                               // Reserved.
         &PromptStruct,                      // Pass a PromptStruct.
         CRYPTPROTECT_UI_FORBIDDEN,
         &DataOut))
    {
         printf("The encryption phase worked. \n");
    }
    else
    {
        fprintf(stderr, "Error number %x.\n", GetLastError());
        MyHandleError("Encryption error!");
    }
    //-------------------------------------------------------------------
    //   Begin unprotect phase.
 
    if (!CryptUnprotectData(
            &DataOut,
            &pDescrOut,
            NULL,                 // Optional entropy
            NULL,                 // Reserved
            &PromptStruct,        // Optional PromptStruct
            CRYPTPROTECT_UI_FORBIDDEN,
            &DataVerify))
    {
         printf("The decrypted data is: %s\n", DataVerify.pbData);
         printf("The description of the data was: %S\n",pDescrOut);
    }
    else
    {
        MyHandleError("Decryption error!");
    }
В pDescrOut возвращает NULL
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 21:52
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Убежденный, можете объяснить подробно ваш пример?
Я беру слово "hello" и защищаю его с помощью DPAPI.
А затем вывожу зашифрованные данные (cipher) в hex-форме. Ну так просто, для читаемости.
Теперь расшифровать это может лишь тот, кто знает мой пароль в системе.
И LiveCD не поможет. При смене или сбросе пароля ключ шифрования утрачивается.

Цитата Сообщение от ivan.-94 Посмотреть сообщение
В pDescrOut возвращает NULL
Ну правильно. "description string" передали в Юникоде, а выводить
пытаетесь как ANSI-строку. Нужно не printf, а wprintf.
1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 22:04  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Нужно не printf, а wprintf.
Не помогает - все равно <null>

Добавлено через 50 секунд
Цитата Сообщение от Убежденный Посмотреть сообщение
Теперь расшифровать это может лишь тот, кто знает мой пароль в системе.
То есть, придется вводить пароль?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2013, 22:16
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Не помогает - все равно <null>
Значит, самое время внимательно посмотреть на код и найти ошибку.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
23.08.2013, 22:40  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Значит, самое время внимательно посмотреть на код и найти ошибку.
Что то у меня не выходит
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
24.08.2013, 13:27  [ТС]
Убежденный, Смотрите:
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
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <Windows.h>
 
#pragma comment(lib, "crypt32.lib")
 
int _tmain(int argc, _TCHAR* argv[])
{
    DATA_BLOB BlobIn;
    BlobIn.pbData = (BYTE *)"hello";
    BlobIn.cbData = lstrlenA((char const *)BlobIn.pbData);
 
    DATA_BLOB DataVerify;
    LPWSTR pDescrOut = NULL;
 
    DATA_BLOB BlobOut;
 
    if (FALSE == CryptProtectData(&BlobIn, NULL, NULL, NULL, NULL,
        CRYPTPROTECT_UI_FORBIDDEN, &BlobOut))
    {
        DWORD const LastError = GetLastError();
        printf("CryptProtectData failed with last error %lu.\r\n", LastError);
        system("pause");
        return EXIT_FAILURE;
    }
 
    for (DWORD i = 0; i < BlobOut.cbData; ++i)
    {
        printf("0x%.2lx ", BlobOut.pbData[i]);
    }
    printf("\r\n");
    if (FALSE == CryptUnprotectData(&BlobOut,&pDescrOut,NULL,NULL,NULL,
        CRYPTPROTECT_UI_FORBIDDEN,&DataVerify))
    {
        DWORD const LastError = GetLastError();
        printf("CryptUnprotectData failed with last error %lu.\r\n", LastError);
        system("pause");
        return EXIT_FAILURE;
    }
        printf("The decrypted data is: %s\n", DataVerify.pbData);
    LocalFree(BlobOut.pbData);
 
    system("pause");
    return EXIT_SUCCESS;
}
Получаю,
Откуда эти лишние символы, что то не так с размерами переменных?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
25.08.2013, 04:50  [ТС]
Но ведь BlobOut.pbData нужно куда то сохранить, а куда?

Добавлено через 14 часов 58 минут
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include <stdio.h>
#include <Windows.h>
#include <fstream.h>
#include <iostream.h>
 
#pragma comment(lib, "crypt32.lib")
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    DATA_BLOB BlobIn;
    DATA_BLOB BlobOut;
    BlobIn.pbData = (BYTE *)"11";
    BlobIn.cbData = lstrlenA((char const *)BlobIn.pbData);
 
    if (FALSE == CryptProtectData(&BlobIn, NULL, NULL, NULL, NULL,
        CRYPTPROTECT_UI_FORBIDDEN, &BlobOut))
    {
        DWORD const LastError = GetLastError();
        ShowMessage("CryptProtectData failed with last error "+LastError);
    }
    AnsiString str="";
    for (DWORD i = 0; i < BlobOut.cbData; ++i)
    {
        str+=BlobOut.pbData[i];
    }
    ShowMessage(str);
    ofstream out;
    out.open("1.txt");
    out<<str.c_str();
    out.close();
    LocalFree(BlobIn.pbData);
    LocalFree(BlobOut.pbData);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    AnsiString str="";
    ifstream in("1.txt");
    if(!in){
        ShowMessage("не удается открыть файл");
    }
    while(!in.eof())
        str +=(char) in.get();
    in.close();
    ShowMessage(str);
    DATA_BLOB BlobOut;
    BlobOut.pbData = (BYTE *)str.c_str();
    BlobOut.cbData = lstrlenA((char const *)BlobOut.pbData);
    DATA_BLOB DataVerify;
    if (FALSE == CryptUnprotectData(&BlobOut,NULL,NULL,NULL,NULL,
        CRYPTPROTECT_UI_FORBIDDEN,&DataVerify))
    {
        DWORD const LastError = GetLastError();
        ShowMessage("CryptUnprotectData failed with last error "+LastError);
        system("pause");
    }
    AnsiString s="";
    for (DWORD i = 0; i < DataVerify.cbData; ++i)
    {
        s+=(char)DataVerify.pbData[i];
    }
    ShowMessage("The decrypted data is: "+s);
 
    LocalFree(BlobOut.pbData);
    LocalFree(DataVerify.pbData);
}
//---------------------------------------------------------------------------
Когда расшифровываю получаю пустую строку, почему?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
26.08.2013, 12:32  [ТС]
Убежденный, в общем с этим я все таки разобрался.
Остается вопрос - где же хранить этот зашифрованный закрытый ключ, или это абсолютно не имеет значения?
Какой нибудь текстовый файл - приемлемо?

Добавлено через 52 минуты
Да и почему то расшифровать может любой пользователь!
Я создал пользователя запустил и под смог правильно расшифровать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2013, 12:32

Кто работал с Indexing Service? Отзовитесь! Поиск на казахском языке...
Как вообще можно реализовапть поиск на казахском? Проблема такая: С Indexing Service русский поиск - работает. Английский тоже......

Как сделать так, чтобы Service работал после закрытия программы
Здравствуйте! Никак не могу разобраться, как сделать так, чтобы Service работал после закрытия программы. Вот что я написал в...

Обработка сервиса и запуска [Service Application]
Доброго дня юзеры, собственно, взял из инета такой кусок кода, для управления сервисом приложения. unit ServiceUnit; interface...

Интересный факт о Application и Service :remote
Значит берём создаём тестовый примерчик: Активити Сервис Биндимся из активити к сервису и через месенджер шлём сообщения сервису...

Создание Android Service (background application) на Qt (QML)
Доброго времени суток, друзья. Помогите разобраться с проблемой. Есть рабочее приложение для андройда написанное на Qt с использованием...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru