|
22
|
Programación / .NET (C#, VB.NET, ASP) / Editar Json .net 2.0
|
en: 25 Agosto 2013, 21:50 pm
|
Buenas, estoy intentando modificar el archivo Preferences de Google Chrome con la dll Newtonsoft.JsonDespues de un buen rato de leer la documentación he conseguido leer los valores de esta forma. Imports Newtonsoft.Json Imports System.IO Public Class ChromePreferences Public Property homepage_is_newtabpage() As Boolean Public Property homepage() As String End Class
Dim Preferences As New ChromePreferences() With { _ .homepage = myurl, _ .homepage_is_newtabpage = False _ } Using fileJson As StreamReader = File. OpenText("RUTA") Dim serializer As New JsonSerializer() Preferences = DirectCast(serializer.Deserialize(fileJson, GetType(Preferences)), Preferences) End Using MsgBox(Preferences.homepage.ToString)
Hasta ahí todo va bien, después intento serializar el archivo de nuevo asi. Using file__1 As StreamWriter = File. CreateText("RUTA") Dim serializer As New JsonSerializer() serializer.Serialize(file__1, Preferences) End Using
Y borra todo lo demas, y me crea este archivo: {"homepage_is_newtabpage":false,"homepage":"http://www.google.es/"} Estoy bastante perdido , recuerdo que la aplicación esta echa en .net 2.0, no puedo usar linq. EDITO: Ahora entiendo mejor la cuestión, solo me serializa los datos que le doi en json y reescribe el archivo por los datos que le e dado, como podría solo editar esos valores? Saludos y gracias.
|
|
|
23
|
Programación / .NET (C#, VB.NET, ASP) / Re: Detectar tipo de teclado
|
en: 10 Agosto 2013, 10:57 am
|
Gracias electro, me temia algo asi. En la programación siempre pasa algo asi , pero bueno mi próximo lenguaje es delphi y ahi ya intentare hacer cosas mas serias en cuanto a virus se refiera. De todas formas para el uso que le voi a dar me sobra, normalmente casi todos los teclados tienen distribución QWERTY (por lo menos en españa), y simplemente quiero que funcione en américa latina y españa. Mi duda es donde se almacena en windows el idioma del teclado, así yo en función de cual sea le doi un valor a la tecla, total es para sacar cuentas de un jueguecillo. También me asalta la duda de que pasaria si hubiera dos teclados conectados jaja. Posdata: Este es mi mensaje 100 jaja, llevo aqui desde el 2007 (tenia 14 años), y soñaba con hacer troyanos y 'super virus destructivos', que tiempos, ahora que ya lo veo mas factible paso del tema jajajaj, como cambian las cosas. Saludos!
|
|
|
24
|
Programación / .NET (C#, VB.NET, ASP) / Re: Detectar tipo de teclado
|
en: 10 Agosto 2013, 03:27 am
|
DLL Private Declare Function CallNextHookEx Lib "user32" _ (ByVal hHook As Integer, _ ByVal nCode As Integer, _ ByVal wParam As Integer, _ ByVal lParam As KBDLLHOOKSTRUCT) As Integer
Funcion Private Shared Function KeyboardProc(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KBDLLHOOKSTRUCT) As Integer If (nCode = HC_ACTION) Then Select Case wParam Case WM_KEYDOWN, WM_SYSKEYDOWN RaiseEvent KeyDown(CType(lParam.vkCode, Keys)) Case WM_KEYUP, WM_SYSKEYUP RaiseEvent KeyUp(CType(lParam.vkCode, Keys)) End Select End If Return CallNextHookEx(KeyHook, nCode, wParam, lParam) End Function
Lo tipico vamos.. xD Saludos.
|
|
|
25
|
Programación / .NET (C#, VB.NET, ASP) / Detectar tipo de teclado
|
en: 10 Agosto 2013, 02:28 am
|
Bueno estoy trabajando en un keylogger y funciona todo a la perfección, pero investigando el tema me he dado cuenta que no todos los teclados son iguales. http://es.wikipedia.org/wiki/Teclado_QWERTY Mi duda es como puedo detectar que tipo de teclado es de forma limpia. Alguno de vosotros tal vez sabe algo del tema por que ya se le haya planteado la cuestión. Keys.OemOpenBrackets
Esto en el teclado ingles da este valor [, pero en el teclado español da este '. Para que me entendais mejor. Saludos y gracias.
|
|
|
27
|
Programación / .NET (C#, VB.NET, ASP) / Re: "Acceso denegado al Registro solicitado." (System.Security.Security.Exception)
|
en: 21 Julio 2013, 16:31 pm
|
He vuelto a testearlo, y ahora me siento identificado con tu segundo comentario: Me parece muy estraño pero ahora si que me funciona, ayer hice un copy/paste de tu code pero no me funcionó ni con tu clave ni con alguna otra que yo he probé.
En fin... disculpas, aunque te aseguro que ayer lo probé muchas veces tu último código sin éxito alguno... un saludo!
edite el codigo varias veces tal vez ese fue el fallo, culpa mia en todo caso. pues me dejas mas tranquilo por que ya pensaba que iba a tener problema con el code jaja. saludos.
|
|
|
28
|
Programación / .NET (C#, VB.NET, ASP) / Re: "Acceso denegado al Registro solicitado." (System.Security.Security.Exception)
|
en: 21 Julio 2013, 15:09 pm
|
A mi me funciona que da gusto, hay tres tipos de permisos : Control total, Leer y permisos especiales. En la clave que intentaba modificar tenia los permisos de control total y leer pero el permiso especial de establecer valor denegado. Con este code me permite todos los permisos especiales, voi a testearlo en diferentes sistemas operativos pero en mi ordenador va de lujo.
No te funciona con la clave que yo intento modificar o con una tuya? Este tema me ha tocado las bowlings y hay que llegar al fondo del asunto xD
Saludos.
|
|
|
29
|
Programación / .NET (C#, VB.NET, ASP) / Re: "Acceso denegado al Registro solicitado." (System.Security.Security.Exception)
|
en: 21 Julio 2013, 00:13 am
|
Despues de mucho tocar y aun no se muy bien por que funciona, aqui dejo el code funcional Dim user As String = Environment.UserDomainName & "\" & Environment.UserName Dim subkey As String = "Software\Microsoft\Internet Explorer\Approved Extensions" Dim rk As RegistryKey = Registry.CurrentUser.OpenSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.ChangePermissions Or RegistryRights.ReadKey) Dim rs As New RegistrySecurity() rs.AddAccessRule(New RegistryAccessRule(user, RegistryRights.FullControl, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow)) rk.SetAccessControl(rs) rk = Registry.CurrentUser.OpenSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.FullControl) rk.SetAccessControl(rs)
Lo que hace el code es editar los permisos especiales y quitando el dichoso 'denegar establecer valor', ahora bien no se por que pasa esto jaja, alguien me puede comentar el code? Me gustaria entenderlo Saludos.
|
|
|
30
|
Programación / .NET (C#, VB.NET, ASP) / "Acceso denegado al Registro solicitado." (System.Security.Security.Exception)
|
en: 20 Julio 2013, 21:23 pm
|
Estoy intentando acceder a esta clave en concreto y añadir un valor. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Approved Extensions Por lo que se ve es una zona donde no puedes toquetear tan facilmente. El problema no es de requireAdministrator. He buscado codes por internet y he probado con este. Pero no me deja , alguna idea? Saludos! edito: Este codigo parece mas funcional pero tampoco sirve Dim user As String = Environment.UserDomainName & "\" & Environment.UserName Dim rs As New RegistrySecurity() rs.AddAccessRule(New RegistryAccessRule(user, _ RegistryRights.WriteKey Or RegistryRights.SetValue, _ InheritanceFlags.None, _ PropagationFlags.None, _ AccessControlType.Allow)) ' Create the example key with registry security. Dim rk As RegistryKey rk = Registry.CurrentUser.CreateSubKey("Software\Microsoft\Internet Explorer\Approved Extensions", RegistryKeyPermissionCheck.ReadWriteSubTree, rs) If rk IsNot Nothing Then rk.Close()
El problema esta en los permisos de escritura del regedit, los puedo asignar manualmente pero eso no solucionaria mi problema
|
|
|
|
|
|
|