Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/54: Рейтинг темы: голосов - 54, средняя оценка - 4.83
Rapsod
Волшебник
64 / 63 / 7
Регистрация: 21.11.2009
Сообщений: 319
#1

Запрет запуска второй копии приложения

19.01.2010, 22:11. Просмотров 9684. Ответов 33
Метки нет (Все метки)

Всем огромный привет!!!!
Помогите пожалуйста! Как запретить запуск второй копии приложения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2010, 22:11
Ответы с готовыми решениями:

Запрет запуска второй копии и перезапуск
Всем привет! Пытаюсь реализовать запрет на запуск второй копии приложения. Вот...

Запрет запуска копии процесса
HWND hWnd; hWnd=::FindWindow(name,NULL); if (hWnd) { if...

Запрет запуска приложения
Люди помогите пожалуйста,нужно запретить запуск определенного приложения...

Передача имени файла другой копии приложения.
Суть такова программа регистрирует свое расширение файлов (.form1) И при...

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

33
Samrisbe
1352 / 722 / 66
Регистрация: 28.01.2011
Сообщений: 1,979
19.10.2011, 03:59 #21
Ну раз тема ожила не могу удержаться от вопроса
Как по клику на Button1 сгенерировать GUID в Label1
0
LK
Заблокирован
19.10.2011, 12:12 #22
1. Стандартными средствами - никак, это фича редактора кода Билдера.
Хотя можно при установке программы на комп пользователя заодно установить ему Билдер, рекомендуется - несколько версий, при нажатии на Button1 запустить один или все установленные билдеры, найти окно Билдера, програмно нажать сочетание клавиш Ctrl+Shift+G, сгенерировать GUID, найти эту строку в поле редактирования Билдера , скопировать , обратно же, программными средствами , в буфер обмена, загрузить из буфера в невидимый Эдит в своей программе и присвоить свойство Текст Эдита свойству Заголовок Label1 .
Вот и все,

2. Сделать самому с нуля , не такое оно у ж и большое, это общее количество уникальных ключей - 2 в 128-й степени или 3,4028×10 в 38-й степени .

Рекомендую способ, изложенный в п. 1.
1
Samrisbe
1352 / 722 / 66
Регистрация: 28.01.2011
Сообщений: 1,979
19.10.2011, 15:17 #23
Вопрос на засыпку,
Этот код генерирует Мак адрес пк, мне это нужно для программы извлеч любой номер лижбо он был оригинальный, как думаеш он будет на всех пк работать?

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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
    char szBuf[MAX_COMPUTERNAME_LENGTH + 1];
    szBuf[0] = '\0';
    GetComputerName(szBuf, &dwSize);
    Label1->Caption = szBuf;
 
typedef DWORD (CALLBACK* GetadAptInfo)(PIP_ADAPTER_INFO, PULONG);
 HINSTANCE iphlpapi;
 iphlpapi=LoadLibrary("iphlpapi.dll");
 if (!iphlpapi)
    {
     ShowMessage( "Error of upload iphlpapi.dll!");
     Abort();
    }
 GetadAptInfo GetAdaptersInfo;
 GetAdaptersInfo = ( GetadAptInfo)
 GetProcAddress( iphlpapi, "GetAdaptersInfo");
 ULONG adapter_info_size = 0;
 PIP_ADAPTER_INFO pip_a_i = NULL;
 GetAdaptersInfo( pip_a_i, &adapter_info_size );
 pip_a_i = (PIP_ADAPTER_INFO)
                      malloc( sizeof(char) * adapter_info_size);
    if ( GetAdaptersInfo( pip_a_i, &adapter_info_size ))
       {
        ShowMessage("Error in GetAdaptersInfo!");
        free(pip_a_i);
        Abort();
       }
    while (pip_a_i)
          {
           Memo1->Lines->Add("Adapter's CLSID: " + (String)pip_a_i->AdapterName);
           Memo1->Lines->Text =  Memo1->Lines->Text + "MAC address: ";
           for (int i = 0; i < pip_a_i->AddressLength; i++)
               {
                     Memo1->Lines->Text =  Memo1->Lines->Text + ((unsigned char)pip_a_i->Address[i]) + ".";
               }
              Memo1->Lines->Add("");
              pip_a_i = pip_a_i->Next;
          }
    free(pip_a_i);
    FreeLibrary(iphlpapi);
}
0
LK
Заблокирован
19.10.2011, 16:20 #24
делаешь тестовый проектик, даёшь пробовать, реальный мак-адресс тебе, наверное, не скажут , а вот работает или нет - вполне
0
Samrisbe
1352 / 722 / 66
Регистрация: 28.01.2011
Сообщений: 1,979
19.10.2011, 16:32 #25
Цитата Сообщение от LK Посмотреть сообщение
делаешь тестовый проектик, даёшь пробовать, реальный мак-адресс тебе, наверное, не скажут , а вот работает или нет - вполне
В архиве exe отображающий имя пк и мак адрес, просьба протестировать у кого есть возможность работоспособность функции.
Спасибо.
0
Вложения
Тип файла: rar GetMacAdres.rar (9.4 Кб, 15 просмотров)
LK
Заблокирован
19.10.2011, 16:36 #26
почитай здесь: Компиляция программы под С++ Builder, чтобы работала на других компьютерах
0
Миниатюры
Запрет запуска второй копии приложения  
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
19.10.2011, 16:38 #27
Показывает, но только для одной сетевой карты
В десятичном формате (мак привычней в hex)
Привязка к mac - некошерно. Потому как легко изменить.
0
LK
Заблокирован
19.10.2011, 16:40 #28
привязывать надо к 5-6 комплектующим, для избежания сбоя в работе программы при, например, замене сетевой карты, винчестера, корпуса системного блока
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
19.10.2011, 16:44 #29
Цитата Сообщение от LK Посмотреть сообщение
привязывать надо к 5-6 комплектующим
Вопрос спорный. Имхо привязка к железу вообще признак плохого тона.
0
Samrisbe
1352 / 722 / 66
Регистрация: 28.01.2011
Сообщений: 1,979
19.10.2011, 16:48 #30
LK не помниш как этот форум называется
Что не сделаеш если друг просит, положил в архив исходник может кто подправит, там есть пара строк которые касячят, и пусть люди пользуются .
не потеме-что за ярко зеленоядовитый фон у тебя? чувствую я от моды отстал со своими пейзажами на рабочем столе
0
Вложения
Тип файла: rar Получить имя компьютера.rar (569.6 Кб, 21 просмотров)
LK
Заблокирован
19.10.2011, 16:58 #31
по поводу количества привязок - категорически не согласен, относительно плохого тона - согласен вполне, и если бы программу можно было надежно защитить, то все использоваали бы исключительно покупные Билдеры, ведь не дураки все же работают в Borland-Code Gear-Embarcadere.

Общий принцип - затраты на взлом программы должны окупаться ее стоимостью, если не учитывать "спортивного интереса" отдельных "умельцев" .

Добавлено через 3 минуты
твой намек абсолютно не уместен, поскольку в предыдущей посылке не было исходников, а у некоторых друзей нет некоторых билдеров .

а сайт называется "Довольно мелкое представительство Vana Tallinn (TM)"

Добавлено через 5 минут
Имя компусика показало более-менее верно, относительно физического адреса сетевой карты читай цитату:
Цитата Сообщение от mimicria Посмотреть сообщение
В десятичном формате (мак привычней в hex)
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
19.10.2011, 16:58 #32
Цитата Сообщение от LK Посмотреть сообщение
по поводу количества привязок - категорически не согласен
Это тот случай, когда количество не переходит в качество
Цитата Сообщение от LK Посмотреть сообщение
затраты на взлом программы должны окупаться ее стоимостью
И затраты на защиту не больше половины затрат на саму программу =)
Лучшая привязка - к пользователю
0
Samrisbe
1352 / 722 / 66
Регистрация: 28.01.2011
Сообщений: 1,979
19.10.2011, 16:58 #33
Если код подправить то можно извлеч еще параметр.

не-потеме я дал себе слова что пока тебе не вручу это сам ни глоточка, а я ох как хочу продегустировать, чесно скажу сам никогда не пробовал все на подарки да на магарычи.
0
LK
Заблокирован
19.10.2011, 17:49 #34
Цитата Сообщение от mimicria Посмотреть сообщение
1. И затраты на защиту не больше половины затрат на саму программу =)
2. Лучшая привязка - к пользователю
1. это кто сказал ?
2. если пользователей несколько ? однопользовательская лицензия ? многопользовательская лицензи ? какая гадость эта ваша заливная рыба ...

Добавлено через 48 минут
Цитата Сообщение от Samrisbe Посмотреть сообщение
1. Если код подправить то можно извлеч еще параметр.
2. не-потеме я дал себе слова что...
1. какой пареметр ?
2. Это в корне неправильно - тебе крайне необходимо узнать лично - ЧТО ? там , естественно, в кругу семьи
0
19.10.2011, 17:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 17:49

Отслеживание запуска полноэкранного приложения
Требуется отследить запуск полноэкранного приложения. Т.е. при запуске...

Запрет выполнения нескольких копий приложения
Здравствуйте. Необходимо запретить одновременное выполнение нескольких копий...

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


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru