Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Usuarios de Windows XP en C++ (https://www.clubdelphi.com/foros/showthread.php?t=61178)

yelian 28-10-2008 21:21:21

Usuarios de Windows XP en C++
 
Hola a todos los del foro, tengo una duda que es posible que la tengan muchas personas que visitan este foro, lo que pasa es que no se si es posible que desde C++ se pueda tener acceso a las cuentas de Usuarios de Windows es decir, crear, eliminar, cambiar nombre, cambiar contraseña, etc a los usuarios de Windows XP...

Si es posible de hacer eso desde C++ sin utilizar los comandos de MSDOS por favor diganme como y si es posible pongan me ejemplos...


Muchas Gracias...

cHackAll 30-10-2008 00:47:31

User Functions ú OLE-COM: Shell.Users (ejemplo en Delphi).

yelian 30-10-2008 09:58:26

Los datos anteriores son buenos, pero me hacen falta los code para C++ ya que no se mucho de Delphi, me arian falta esos mismos datos pero para utilizarlos en C++...

gracias por la ayuda siempre se aprende bastante aquí.

cHackAll 30-10-2008 20:34:37

Cita:

Empezado por yelian (Mensaje 323237)
Los datos anteriores son buenos...

Si

Cita:

Empezado por yelian (Mensaje 323237)
...pero me hacen falta los code para C++ ya que no se mucho de Delphi...

ahh bueno pero las declaraciones mostradas por la MSDN estan en C, así que te seran facil de utilizarlas :)

Cita:

Empezado por yelian (Mensaje 323237)
...me arian falta esos mismos datos pero para utilizarlos en C++...

sip, bueno hay muchos ejemplos regados por la telaraña (ejemplo)... yo te di las pautas, el resto como siempre debe partir del interesado.

PD; revisa el segundo enlace de mi firma ;)

Saludos

yelian 03-11-2008 15:33:48

Hola de nuevo a todos los del Foro disculpen la demora es que no me había podido conectar antes, también discúlpenme por la comodidad de pedir estos códe lo que pasa es que no tengo acceso al linck puesto anterior (ejemplo), no tengo acceso a todas las paguinas en internet solo algunas de ellas, si no fuera tanto pedir me pudieran poner un code de como cambiarle la contraseña a un usuario pero que seas desde C++, es para un programita que estoy aciendo pero me falta este code para terminarlo, si me pudieran ayudar se los agradeceria mucho, gracias :confused:

cHackAll 03-11-2008 17:09:51

Código:

if (!NetUserChangePassword(NULL, NULL, "haclave", "peor"))
  MessageBox(0, "Done", NULL, 0);

Saludos

yelian 04-11-2008 14:05:35

Hola cHackAll gracias por el code anteriol pero disculpa la ignorancia es que no se nada del code anteriol si pudieras esplicarme algo sobre el (como funciona) y me preguntaba si es para C++ es que nunca e visto eso en C++, disculpa la molestia....

cHackAll 04-11-2008 14:55:43

NetUserChangePassword es una API encargada justamente de cambiar la contraseña de una cuenta de usuario, la misma recive 4 parámetros;

Cita:

NET_API_STATUS NetUserChangePassword(
__in LPCWSTR domainname,
__in LPCWSTR username,
__in LPCWSTR oldpassword,
__in LPCWSTR newpassword
);
Los dos parámetros iniciales sirven para identificar a la cuenta (si ambos son NULL como en el ejemplo; nos referimos a la cuenta "en uso"). El tercer parámetro sirve como medida de seguridad para autenticar a la cuenta especificada; finalmente el ultimo parámetro es la nueva contraseña.

El valor retornado por dicha API será 0 si el cambio ha sido realizado; en tal caso el ejemplo llamará a otra API (MessageBox) que mostrara un mensaje "Done".

yelian 07-11-2008 00:11:14

Disculpen la ignorancia y la comodidad pero no entiendo lo del code anterio lo e probado de todas formas posibles pero no me funciona, si no fuera mucho pedir me gustaria que me pusieran el code de lo que me hace falta, lo que quiero hacer es que cuando presione un Boton me cambie la contraseña de Administrador por por cualquier otra ...

Muchas gracias por la ayuda brindada ......

cHackAll 07-11-2008 19:43:42

Código:

#include <lm.h>

//...

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (!NetUserChangePassword(NULL, L"Administrator", L"HAClave", L"leecher"))
  MessageBox(0, "Done", NULL, 0);
}


Negriz 07-11-2008 22:18:30

La verdad no conocia todas eastas formas de manejar los usuarios, que bien.. (algo nuevo para mi)
Bueno este comentario es para decrite si no has probado con el comando Net de windows?

un ejemplo seria algo asi:

Cita:

#include <stdlib.h>

int main()
{
system( "net user" ); //te daria el listado de usuarios
system( "net user Administrador contraseñaNueva" ); //esto cambiaria el pass del administrador ;D

return 0;
}
si quieres saber como usar el comando net solo tienes que escribir en ejecutar (ctrl+esc+R) "cmd" si las comillas y despues en la consola ecribes net y listo...

Saludos, espero te sirva.

yelian 12-11-2008 02:13:43

Bueno gracias a todos por su aporte son buenos,
Mira Negriz se lo del comando "Net User" de windows pero lo que quiero hacer es, cuando presiono un botton que hay en mi Form me cambie la contraseña del Administrador por una que hay en un fichero de texto pero no se como puedo hacer esto si ustedes me pueden ayudar se lo agradeseria mucho....

escafandra 14-11-2008 14:50:44

Saludos. .

yelian 15-11-2008 16:33:25

- Hola cHackAll Estube probando el code que me distes:
if (!NetUserChangePassword(NULL, L"Administrator", L"HAClave", L"leecher"))
MessageBox(0, "Done", NULL, 0);

- y le agrege la Bilioteca:
#include <lm.h>

- Pero me sale un ERROR que no se por que es:
(C++ Fatal Error) Unit1.ccp(34): F1013 Error wriring output file

- Si me pudieran decir por que me da ese error

Gracias y Saludos

cHackAll 15-11-2008 16:47:59

Cita:

Empezado por yelian (Mensaje 326325)
...

- Si me pudieran decir por que me da ese error...

1, 2, 3, etc.

es un error del IDE y la configuracion del proyecto, NO es causado por el codigo en cuestión.

Saludos

yelian 15-11-2008 17:14:37

Ya gracias el problema era que no habia guardado mi applicacion de Prueba
ahora si me corre...

yelian 15-11-2008 17:45:24

NO me funciona probe el code ya se ejecuta pero no me muestra ningun mensaje ni veo que haga ningun cambio.
Tengo una duda, que puede ser por eso que no me funcione :

if (!NetUserChangePassword(NULL, L"Administrator", L"HAClave", L"leecher"))

* El primer NULL es para espesificar que es en la maquina Local
* Lo segundo (L"Administrador") es para espesificar el usuario que se va a cambiar la contraseña
* Lo otro (L"HAClave") es para poner la contraseña bieja
* Lo Ultimo (L"leecher") es para poner la contraseña nueva
Estoy en lo sierto no...

**Si yo no me se la contraseña bieja puedo poner NULL para que la cambie de todas manera, se puede hacer esto si o no.. si no se puede me pueden decir como puedo hacer que me cambie la contraseña a un que yo no sepra la bieja

Gracias

Lepe 15-11-2008 18:29:11

Cita:

Empezado por yelian (Mensaje 326336)
**Si yo no me se la contraseña bieja puedo poner NULL para que la cambie de todas manera, se puede hacer esto si o no.. si no se puede me pueden decir como puedo hacer que me cambie la contraseña a un que yo no sepra la bieja

Si permitiera tal cosa, sería un grave fallo de seguridad en el S.O.

Saludos

cHackAll 15-11-2008 23:41:48

Cita:

Empezado por yelian (Mensaje 326336)
...Si yo no me se la contraseña bieja puedo poner NULL para que la cambie de todas manera...

Cita:

Empezado por Lepe (Mensaje 326338)
Si permitiera tal cosa, sería un grave fallo de seguridad en el S.O...

Aunque Lepe te respondió implicitamente, lo que quieres es posible con el comando "net user Administrador NuevaClave".

Saludos

Negriz 20-11-2008 17:56:20

Cita:

Empezado por cHackAll (Mensaje 326386)
Aunque Lepe te respondió implicitamente, lo que quieres es posible con el comando "net user Administrador NuevaClave".

Saludos

Si como te dice cHackAll puedes usar el comando net, y si quieres capturar el resultado de este comando aca te dejo algo ademas nose vera la consola, recuerda que necesitas derechos de admin.

ExecuteDOSCommand("net user Administrador clave");

y listo.


La franja horaria es GMT +2. Ahora son las 02:40:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi