Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
andronooo
1

Смена пароля пользователя ос windows на builder C++

31.03.2012, 09:21. Просмотров 1814. Ответов 8
Метки нет (Все метки)


Ребята пожалоста помогите. Подскажите как можно решить это задание. Будет интересно не тлько для меня но и для многих. В интернете практически ничего нет, может вы что подскажите.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2012, 09:21
Ответы с готовыми решениями:

Смена пароля пользователя
Пароль не меняется. SqlConnection con; con = new...

2008 R2 - Смена пароля пользователя на ТК
обрый день! У меня такая проблема! Есть два терминальных сервера и один сервер сессион брокер на...

Автоматический смена пароля пользователя
Здравствуйте Подскажите, как сделать принудительную смену пароля пользователям домена windows 2008...

Смена пароля у пользователя через UPDATE
Добрый день! Подскажите пожалуйста, менять пароль у пользователя посредством изменения записи в...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
8
236 / 227 / 58
Регистрация: 27.10.2011
Сообщений: 249
31.03.2012, 15:29 2
Лучший ответ Сообщение было отмечено как решение

Решение

Можно реализовать с помощью консоли - написав оболочку. Пример обращения к консоли: Из консоли в Memo, здесь она запускается в скрытом режиме
Достаточно скормить командному интерпретатору системы инструкцию net user [имя пользователя] [пароль] и следовать дальнейшим инструкциям операционки.
Добавлено через 1 час 55 минут
Работает
Edit1 - имя пользователя, Edit2 - новый пароль:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
HANDLE SpawnAndRedirect(LPCTSTR commandLine, HANDLE *hStdOutputReadPipe,
  LPCTSTR lpCurrentDirectory)
{
  HANDLE hStdOutputWritePipe, hStdOutput, hStdError;
  CreatePipe(hStdOutputReadPipe, &hStdOutputWritePipe, NULL, 0);
  DuplicateHandle(GetCurrentProcess(), hStdOutputWritePipe, GetCurrentProcess(),
    &hStdOutput,0, TRUE, DUPLICATE_SAME_ACCESS);
  DuplicateHandle(GetCurrentProcess(), hStdOutput, GetCurrentProcess(),
    &hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS);
  CloseHandle(hStdOutputWritePipe);
  PROCESS_INFORMATION pi;
  STARTUPINFO si;
  ZeroMemory(&si, sizeof(STARTUPINFO));
  si.cb = sizeof(STARTUPINFO);
  si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
  si.hStdInput  = GetStdHandle(STD_INPUT_HANDLE);
  si.hStdOutput = hStdOutput;
  si.hStdError  = hStdError;
  si.wShowWindow = SW_HIDE;
  TCHAR commandLineCopy[1024];
  strcpy(commandLineCopy, commandLine);
  if(!CreateProcess(NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE,
    NULL, lpCurrentDirectory, &si, &pi))
    {
      CloseHandle(hStdOutput);
      CloseHandle(hStdError);
      CloseHandle(*hStdOutputReadPipe);
      *hStdOutputReadPipe = INVALID_HANDLE_VALUE;
      return NULL;
    }
  CloseHandle(pi.hThread);
  CloseHandle(hStdOutput);
  CloseHandle(hStdError);
  return pi.hProcess;
}
//---------------------------------------------------------------------------
AnsiString GetInfo(LPCTSTR commandLine)
{
  HANDLE hOutput, hProcess;
  hProcess = SpawnAndRedirect(commandLine, &hOutput, NULL);
  if(!hProcess)
    {
      return "";
    }
  CHAR buffer[128];
  CHAR out[131072] = "";
  DWORD read;
  while(ReadFile(hOutput, buffer, 128, &read, NULL))
    {
      buffer[read] = '\0';
      lstrcatA(out, buffer);
    }
  CHAR msg[131072] = "";
  OemToCharA(out, msg);
  AnsiString str = AnsiString(msg);
  CloseHandle(hOutput);
  CloseHandle(hProcess);
  return str;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString Command = "net user " + Edit1->Text + " " + Edit2->Text;
  ShowMessage(GetInfo(Command.c_str()));
}
//---------------------------------------------------------------------------
3
andronooo
31.03.2012, 17:30 3
Через системный интерпретатор понятно а вот как с помощью консоли не совсем понятно.

Добавлено через 1 минуту
Понял Это я позней отослал сообщение огромное спасибо.
0 / 0 / 0
Регистрация: 30.04.2012
Сообщений: 3
30.04.2012, 23:27 4
Sergey-K, не хватает файлов vcl.h и Unit1.h
не компилится, помогите пожалуйста!!!
0
LK
Заблокирован
01.05.2012, 01:16 5
mikky771, а вы создайте свой новый проект, добавьте на форму кнопочку, сделайте в инспекторе объектов обработчик этой кнопочки, добавьте предложеный код, и все получится, честно . Или расскажите народу, что и как вы делаете, для расслабухи .
1
0 / 0 / 0
Регистрация: 30.04.2012
Сообщений: 3
01.05.2012, 19:52 6
LK, так где файлы, которых не хватает?

Добавлено через 27 секунд
LK, где взять файлы?
0
LK
Заблокирован
01.05.2012, 21:22 7
mikky771, создаете в билдере новый проект: File-New-VCL Form Application - и все ваши файлы будут созданы/добавлены автоматически. Сохраните проект, зайдите в папочку с проектом (не забыть бы, куда сохраняли ), и вы увидите там свой желанный Unit1.h.

Вы, вообще-то, сам билдер видели?

Текст (код), который предложил вам уважаемый Sergey-K, есть файл Unit1.cpp, который создается автоматически при создании проекта, и для которого при создании проекта автоматически создается файл Unit1.h.
А
C++
1
#include <vcl.h>
означает, что к вашему проекту автоматически уже подключен файл vcl.h, осталось добавить на форму кнопочку, и... Ну, это мы уже проходили.
2
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 53
01.05.2012, 23:16 8
[C++ Error] Unit1.cpp(76): E2316 '_fastcall TForm1::Button1Click(TObject *)' is not a member of 'TForm1'
0
LK
Заблокирован
02.05.2012, 02:07 9
mikky771, Aleksimian, обучаемся программированию на форуме ? Браво .

Теперь переходим к изучению магии:
А.Я.Архангельский. Программирование в С++ Builder
- и даже такой страшный зверь, как
Button1Click(TObject *)' is not a member of 'TForm1'
становится ласковым котенком .

Aleksimian, в вашем клиническом случае, следовало копировать не весь код, а только то, что между ... скобок, например, здесь:
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Button1Click(TObject *Sender)
{
/* Только этот код ->*/
  AnsiString Command = "net user " + Edit1->Text + " " + Edit2->Text;
  ShowMessage(GetInfo(Command.c_str()));
/*<- Только этот код */
}
, а сам обработчик, т.е., это:
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  // самописный код
}
сварганить в инспекторе объектов, на вкладке Events/События для кнопки, дважды кликнув на строчке OnClick/ПриКлике .

Сообщение об ошибке означает, что функция нажатия на кнопку не является членом класса формы, т.е., отсуствует ее прототип/объявление в заголовочном файле.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2012, 02:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Смена пароля Windows 7
Здравствуйте! У меня ноутбук, там Windows 7. проблема в том, что он просит переодически менять...

Автоматическая смена пароля windows, вычисляемом по дате
Здравствуйте, нужно написать скриптик (на vbs наверное?), который планирую потом кинуть в...

Смена раскладки при наборе пароля админа на Windows XP PRO
Ребят помогите,брат поставил пароль админа на русском языке,при загрузке автоматически стоит...

Смена Пользователя в Windows 8
В кратце проблема такая... Создал учетную запись нового пользователя.. При входе пошел экран...


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

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

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