|
61
|
Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Valor de De Registro
|
en: 29 Octubre 2019, 14:06 pm
|
Gracias por tu respuesta nebire, de todos modos el codigo que te eh mostrado aqui se los dejo mas ordenado. private static string ReadKey(string registro, string keyName) { Microsoft.Win32.RegistryKey rkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(registro); if (rkey == null) { Console.WriteLine("no"); } else { keyName = (string)rkey.GetValue(keyName); } return keyName; } uso: Console.WriteLine(ReadKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OEMInformation\\", "Model"));
yo lo uso para ver cualquier otra llave del registro y me da la informacion sin problemas , no entiendo por que justamente esta llavo NO me muestra los datos. Si alguien mas puede ayudarme se lo agradeceria mucho.
|
|
|
62
|
Programación / .NET (C#, VB.NET, ASP) / Re: Obtener Valor de De Registro
|
en: 28 Octubre 2019, 03:11 am
|
jeje gamusinos, si existe yo revise el registro y ahi esta, incluso hice pruebas con el mismo codigo en otras keys y resulta, pero ese, los datos como q son fantasmas por que desde el registro se ve y esta, pero desde el codigo no da el valor del codigo .
|
|
|
63
|
Programación / .NET (C#, VB.NET, ASP) / Obtener Valor de De Registro
|
en: 27 Octubre 2019, 18:08 pm
|
Hola a todos, estoy por aqui hoy por lo siguiente, eh intentado de muchisimas maneras y probado cuanto codigo en internet eh encontrado pero no doy con la solucion, necesito obtener los valores de la siguiente llave, pero siempre me regresa null y no entiendo el porque, ya que eh probado con tras llaves de registro y si me da el valor que tiene. Anexo el codigo q ocupo para ver quien puede ayudarme con este problema. Microsoft.Win32.RegistryKey rkey; rkey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OEMInformation"); if (rkey == null) { Console.WriteLine("no"); } else { string myTestKey = (string)rkey.GetValue("Model"); Console.WriteLine(myTestKey); } Gracias de antemano
|
|
|
64
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema al ejecutar archivo
|
en: 17 Octubre 2019, 18:52 pm
|
HEY!!! por alguna razon esto se me ocurrio pero supuse q no deberia ser problema por el hecho de usar el Verb. "runas" , ahora q lo mensionas podria funcionar, gracias , voy aprobar y les cuento q tal me fue, feliz dia
no se porque, pero eh aplicado la solucion q me has dado y no funciono, lo curioso es q en esa app q he creado tengo varios exe y este tiene ese problema , los demas funcionan bien.
|
|
|
65
|
Programación / .NET (C#, VB.NET, ASP) / Problema al ejecutar archivo
|
en: 17 Octubre 2019, 02:25 am
|
Hola a todos, no sabia como colocarle al post, el asunto es q hice una aplicacion donde al hacer click en un boton se ejecuta el programa, eso esta bien se hace, el problema radica, que al ejecutarse no se abre con los permisos necesarios, a pesar de usar el , "runas" con Verb en el Process q creo de objeto. mas si lo ejecuto desde la carpeta de manera manual, si funciona correctamente, y no entiendo por q ocurre eso si ya tiene permisos de administrador (cosa que no pide al ejecutarlo desde la carpeta de manera manual).
Me ayudarian a determinar por q esa falla?
|
|
|
66
|
Programación / .NET (C#, VB.NET, ASP) / Material Design WPF
|
en: 1 Septiembre 2019, 01:07 am
|
Hola amigos, estoy por aqui con una intriga q me trae loco, quiero mejorar la interfaz de mi programa, vi videos de un tal Bunifu UI pero al parecer solo funciona con WinForms, luego tengo este otro Material Design UI este aplica a WPF, pero eh seguido los pasos de los videos q eh visto, y eh bajado el proyecto de github mas no se q hacer para poder compilarlo, ya que al abrirlo en el visual studios 2019 da error de carga y no logro compilarlo, alguien sabra como solucionar esto, y conoceran mas alternativas para mejorar la interfaz grafica de la aplicacion??
|
|
|
67
|
Programación / .NET (C#, VB.NET, ASP) / Re: Generar CheckBox de manera automatica
|
en: 18 Junio 2019, 00:29 am
|
Para permitir seleccionar más de 1 elemento a la vez en el listbox, conviene cambiar el valor de la propiedad selectionMode del listbox. Hombre! no sabia esto!! muchas gracias espero sea igual en wpf c#, si es asi como dices es innecesario crear un checkbox aparte como tu estas diciendo, y en efecto. Una vez que dicha propiedad esté activada (mejor en diseño) , puede seleccionarse múltiples ítems en el listbox y puede acudirse despés a un bucle, o bien para recorrerlos todos y ver cuales están seleccionados, o bien obtener previamente una colección mediante "SelectedIndices" ó SelectedItems" y recorrer solo esos... es trivial lo uno o lo otro.
Cada elemento en un listbox puede actuar como un checkbox... en VS6 incluso había una propiedad 'Style' en el control listbox, que permitía mostrar gráficamente el ítem como un checkbox. Cambiando el valor de la propiedad selectionMode, permite la selección múltiple (simple o compleja de selección), luego actúan como 'checkbox', sin ello los elementos del listbox actúan como 'radiobuttons', así puede seleccionarse múltiples elementos. Te basta informar convenientemente al usuario, añade un label encima del listbox, indicando algo como: "Seleccione a continuación los elementos que desea instalar de la lista (y luego pulse el botón de confirmación)". este es mi pensar , al poder seleccionar dicho elemento con el checkbox, evaluar los q estan en tru y asi ejecutar la accion con un boton, me pondre a ver esa propiedad muchas gracias!!
|
|
|
68
|
Programación / .NET (C#, VB.NET, ASP) / Re: Generar CheckBox de manera automatica
|
en: 17 Junio 2019, 04:33 am
|
hola de nuevo, lo q deseo hacer es en un list box, en cada linea del list box , quiero agregar un checkbox para poder hacerle click marcarlo o desmarcarlo, para poder evaluar eso y permitir o no la accion que quiero (instalar dicho programa listado).
imagine que asi seria una forma de hacerlo pero ... no resulto.
lo otro es que no tengo una cantidad estatica de cuantos checkbox necesitare , eso lo determina el for que se muestra en el codigo, osea si en el listbox se muestran 10 archivos seria 10 checkbox uno en cada linea.
ese es el objetivo que deseo lograr.
|
|
|
69
|
Programación / .NET (C#, VB.NET, ASP) / Generar CheckBox de manera automatica
|
en: 16 Junio 2019, 19:42 pm
|
Hola a todos, en este momento me encuentro con un asunto que no doy como solventarlo, necesito en un listbox, listar archivos, cosa que hace, mas necesito que al final me genere un checkbox con el cual evaluare si quiero o no instalar el programa anexo el codigo que uso private void CargaArchivos(string ruta) { System.Windows.Controls.CheckBox chb = new System.Windows.Controls.CheckBox(); chb.Content = "Instalar"; chb.IsChecked = false; chb.Foreground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Green); listProgramas.Items.Add(chb);
string[] ubicacion = Directory.GetFiles(Environment.CurrentDirectory + ruta); double f;
for (int i = 0; i < ubicacion.Length; i++) { FileVersionInfo info = FileVersionInfo.GetVersionInfo(ubicacion[i]); FileInfo file = new FileInfo(ubicacion[i]);
if (file.Length < 1048576) { f = file.Length / 1024; listProgramas.Items.Add(file.Name + " Version: " + info.FileVersion + " Peso: " + f.ToString() + " Kb" + chb); listProgramas.Items.Add(chb); } else { f = file.Length / 1024; double q = f / 1024; listProgramas.Items.Add(file.Name + " Version: " + info.FileVersion + " Peso: " + Math.Round(q, 2).ToString() + " Mb" + chb); listProgramas.Items.Add(chb); } } } como ven el puede agregar el combobox al principio, pero luego queda ocupado y salta un error de no poder generarlo de nuevo, por otro lado si comentamos " listProgramas.Items.Add(chb);" Nos fijamos en esta linea listProgramas.Items.Add(file.Name + " Version: " + info.FileVersion + " Peso: " + Math.Round(q, 2).ToString() + " Mb" + chb); o esta listProgramas.Items.Add(file.Name + " Version: " + info.FileVersion + " Peso: " + f.ToString() + " Kb" + chb); y no genera el checkbox, lo coloca como si fuera un .ToString() , alguien sabra como poder solucionar eso?
|
|
|
70
|
Programación / .NET (C#, VB.NET, ASP) / Re: Llenar campos en pagina web
|
en: 29 Mayo 2019, 18:36 pm
|
Hola de nuevo, estoy de nuevo por aqui , buscando una ayuda a lo siguiente, como menciono el amigo elektro Selenium a grandes escalas es un overkill rotundo, viendo eso empece a buscar informacion sobre su recomendacion, clase HttpWebRequest / WebRequest. resulta que encontre gran cantidad de ejemplos los cuales empiezo apenas a entender, trate de recrear en c# el codigo de elektro y no pude hacerlo funcionar para loguearme aqui. mi pregunta es, deacuerdo a los ejemplos que consegui, como puedo obtener el enlace web para que con un Process.Start() lo pueda ejecutar? Ejemplo 1: private static void Metodo1() { const string baseurl = "https://foro.elhacker.net/index.php?action=login2"; string user = "Usuario"; string password = "Clave"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(baseurl); CookieContainer cookie; req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; string login = string.Format("go=&Fuser={0}&Fpass={1}", user, password); byte[] postbuf = Encoding.ASCII.GetBytes(login); req.ContentLength = postbuf.Length; Stream rs = req.GetRequestStream(); rs.Write(postbuf, 0, postbuf.Length); rs.Close();
cookie = req.CookieContainer = new CookieContainer();
WebResponse resp = req.GetResponse(); resp.Close(); } Ejemplo 2: public class CookieAwareWebClient : WebClient { public void Login(string loginPageAddress, NameValueCollection loginData) { CookieContainer container;
var request = (HttpWebRequest)WebRequest.Create(loginPageAddress);
request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded";
var query = string.Join("&", loginData.Cast<string>().Select(key => $"{key}={loginData[key]}"));
var buffer = Encoding.ASCII.GetBytes(query); request.ContentLength = buffer.Length; var requestStream = request.GetRequestStream(); requestStream.Write(buffer, 0, buffer.Length); requestStream.Close();
container = request.CookieContainer = new CookieContainer();
var response = request.GetResponse(); response.Close(); CookieContainer = container; }
public CookieAwareWebClient(CookieContainer container) { CookieContainer = container; }
public CookieAwareWebClient() : this(new CookieContainer()) { }
public CookieContainer CookieContainer { get; private set; }
protected override WebRequest GetWebRequest(Uri address) { var request = (HttpWebRequest)base.GetWebRequest(address); request.CookieContainer = CookieContainer; return request; }
public static void Start() { var loginAddress = "https://foro.elhacker.net/index.php?action=login2"; var loginData = new NameValueCollection { { "username", "Usuario" }, { "password", "Clave" } };
var client = new CookieAwareWebClient(); client.Login(loginAddress, loginData); } } Ejemplo 3: public static CookieContainer Login() { string userName = "Usuario"; string password = "Clave";
ASCIIEncoding encoding = new ASCIIEncoding(); string postData = "Username=" + userName + "&Password=" + password; byte[] postDataBytes = encoding.GetBytes(postData);
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://foro.elhacker.net/index.php?action=login2");
httpWebRequest.Method = "POST"; httpWebRequest.ContentType = "application/x-www-form-urlencoded"; httpWebRequest.ContentLength = postDataBytes.Length; httpWebRequest.AllowAutoRedirect = false;
using (var stream = httpWebRequest.GetRequestStream()) { stream.Write(postDataBytes, 0, postDataBytes.Length); stream.Close(); }
var cookieContainer = new CookieContainer();
using (var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse()) { using (var streamReader = new StreamReader(httpWebResponse.GetResponseStream())) { foreach (Cookie cookie in httpWebResponse.Cookies) { cookieContainer.Add(cookie); } } }
return cookieContainer; } Ejemplo 4: public class CookieAwareWebClient : WebClient { public CookieContainer CookieContainer { get; private set; }
public CookieAwareWebClient() : this(new CookieContainer()) { }
public CookieAwareWebClient(CookieContainer container) { CookieContainer = container; }
public bool Login(string loginPageAddress, NameValueCollection loginData) { var request = (HttpWebRequest)WebRequest.Create(loginPageAddress);
request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36";
var parameters = new StringBuilder(); foreach (string key in loginData.Keys) { parameters.AppendFormat("{0}={1}&", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(loginData[key])); } parameters.Length -= 1;
var buffer = Encoding.ASCII.GetBytes(parameters.ToString()); request.ContentLength = buffer.Length;
var requestStream = request.GetRequestStream(); requestStream.Write(buffer, 0, buffer.Length); requestStream.Close();
request.CookieContainer = new CookieContainer();
var response = (HttpWebResponse)request.GetResponse(); response.Close();
CookieContainer = request.CookieContainer; return response.StatusCode == HttpStatusCode.OK; }
Add cookies to WebRequest protected override WebRequest GetWebRequest(Uri address) { var request = (HttpWebRequest)base.GetWebRequest(address); request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36"; request.CookieContainer = CookieContainer; return request; } } public class FacebookClient : CookieAwareWebClient { public bool Login(string email, string password) { var loginResult = this.Login("https://foro.elhacker.net/index.php?action=login2", new NameValueCollection { { "Usuario", email }, { "Clave", password } });
return loginResult; }
public void GetHomePage() { Here's the magic.. Cookies are injected via an overriden var webRequest = GetWebRequest(new Uri("http://elhacker.net/"));
string src = ""; using (var webResponse = (HttpWebResponse)webRequest.GetResponse()) { src = new StreamReader(webResponse.GetResponseStream()).ReadToEnd(); } } } Ejemplo Elektro C#: // *********************************************************************** // Author : ElektroStudios // Modified : 28-February-2018 // ***********************************************************************
// New()
// CookiesEnabled As Boolean // Cookies As CookieContainer // Timeout As Integer
using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Text; using System.Threading.Tasks; using Microsoft.VisualBasic; using System.ComponentModel; using System.Drawing; using System.Net; using System.Runtime.InteropServices; using System.Web;
namespace TestProject.DevCase.Core.NET {
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' A extended <see cref="WebClient"/> component, with support for cookies and requests timeout. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <remarks> /// ''' Original idea taken from: http://www.codingvision.net/tips-and-tricks/c-webclient-with-cookies /// ''' </remarks> /// ''' ---------------------------------------------------------------------------------------------------- [DisplayName(nameof(DevWebClient))] [Description("A extended WebClient component, with support for cookies and requests timeout.")] [DesignTimeVisible(false)] [DesignerCategory(nameof(DesignerCategoryAttribute.Component))] //[ToolboxBitmap(typeof(Component), "Component.bmp")] [ToolboxItemFilter("System.Windows.Forms", ToolboxItemFilterType.Allow)] [ComVisible(true)] public class DevWebClient : WebClient {
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' Gets or sets a value indicating whether cookies are enabled. /// ''' <para></para> /// ''' Default value is <see langword="False"/>. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <value> /// ''' <see langword="True"/> if cookies are enabled; otherwise, <see langword="False"/>. /// ''' </value> /// ''' ---------------------------------------------------------------------------------------------------- public bool CookiesEnabled { get; set; }
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' Gets or sets the cookies associated with this <see cref="DevWebClient"/>. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <value> /// ''' The cookies associated with this <see cref="DevWebClient"/>. /// ''' </value> /// ''' ---------------------------------------------------------------------------------------------------- public CookieContainer Cookies { get; set; }
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' Gets or sets the time interval, in milliseconds, until the /// ''' requests made by this <see cref="DevWebClient"/> times out. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <value> /// ''' The time interval, in milliseconds, until the /// ''' requests made by this <see cref="DevWebClient"/> times out, /// ''' or <see cref="Global.System.Threading.Timeout.Infinite"/> to indicate that the /// ''' request does not time out. /// ''' </value> /// ''' ---------------------------------------------------------------------------------------------------- public int Timeout { get; set; } = global::System.Threading.Timeout.Infinite;
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' Initializes a new instance of the <see cref="DevWebClient"/> class. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- public DevWebClient() { this.Cookies = new CookieContainer(); }
/// ---------------------------------------------------------------------------------------------------- /// ''' <summary> /// ''' Returns a <see cref="WebRequest"/> object for the specified resource. /// ''' </summary> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <param name="address"> /// ''' A <see cref="Uri"/> that identifies the resource to request. /// ''' </param> /// ''' ---------------------------------------------------------------------------------------------------- /// ''' <returns> /// ''' A new <see cref="WebRequest"/> object for the specified resource. /// ''' </returns> /// ''' ---------------------------------------------------------------------------------------------------- protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); request.Timeout = this.Timeout;
if ((this.CookiesEnabled) && (request is HttpWebRequest)) (HttpWebRequest)request.CookieContainer = this.Cookies;
return request; } public static void start() { Uri uri = new Uri("https://foro.elhacker.net/index.php?action=login2", UriKind.Absolute); NetworkCredential cred = new NetworkCredential("NOMBRE", "CONTRASEÑA"); string query = HttpUtility.ParseQueryString($"cookielength=90&user={cred.UserName}&password={cred.Password}").ToString();
using (DevWebClient client = new DevWebClient() { CookiesEnabled = true }) { client.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
string response = client.UploadString(uri, "POST", query); Console.WriteLine(response); } } } }
Siento que ahi tengo la respuesta, mas no la logro ver por no saber que busco realmente, espero puedan explicarme y ayudarme aprender y poder resolver este problema. Replanteo lo que quiero lograr, quiero que en la pagina de login ya sea: facebook, elhacker, hotmail etc... (cualquier web con login) pueda ingresar los datos (usuario y clave) para que al abrir el navegador solo dirija a la pagina luego del login osea : bandeja de entrada, pagina de inicio de facebook o lo que siga luego del login. Entendi lo que me explicastes inicialmente elektro de q el usuario no debe ver si no es necesario lo q se hace, solamente se debe mostrar el resultado, en este caso lo siguiente a la pagina de login. Agradezco la ayuda que puedan darme
|
|
|
|
|
|
|