elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 [567] 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 ... 1236
5661  Programación / Scripting / MOVIDO: Ayuda pascal en: 12 Marzo 2015, 08:32 am
El tema ha sido movido a Programación General.

http://foro.elhacker.net/index.php?topic=431614.0
5662  Sistemas Operativos / Windows / Re: Arrancar un programa sin llegar a ver el escritorio. en: 11 Marzo 2015, 18:58 pm
Buenas

Si quieres iniciar una aplicación antes del inicio de la Shell (o la interfáz del Explorer), bajo Windows XP, Vista, 7, u 8 (aunque no lo he probado con todos), simplemente puedes modificar el valor userinit de la siguiente clave de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, que es un valor delimitado por comas, para añadir la ruta absoluta a tu aplicación, por ejemplo:

Código:
C:\Windows\System32\notepad.exe,C:\Windows\System32\userinit.exe



Sobre el tiempo de inicialización de tu aplicación desarrollada en C# (que dices que tarda bastante),
generalizando y por la naturaleza del JIT (Just-in-time compilation) un ensamblado .Net tarda bastante en inicializarse completamente (en comparación con otros binarios de otros lenguajes),
pero si quieres optimizar el tiempo transcurrido entre que se inicializa la aplicación y se muestra el Form principal, es decir, el boot-time (o Startup), entonces puedes utilizar el servicio NGEN (Native Image Generator), que reduce considerablemente el boot-time de cualquier ensamblado .Net debido a que, a diferencia del JIT, el ensamblado ya ha sido compilado a código de máquina (machine code) antes de iniciar la aplicación (el JIT siempre lo compila a código de máquina durante el Startup de la aplicación), pero por contra, al utilizar NGEN reducirás el rendimiento general de la aplicación, su tiempo de respuesta, aunque no llegarás a apreciar esa disminuición de rendimiento a menos que tu aplicación sea muy "pesada", aunque también podemos decir lo mismo sobre notar el tiempo transcurrido del startup entre NGEN <> JIT xD.

Ambos tienen sus beneficios y sus contras, tu decides que prefieres, el JIT para un startup lento con un rendimiento normal de la aplicación, o NGEN para un startup rápido con un rendimiento lento de la aplicación.



Otro tema es que tambien me gustaria que una vez arrancado el programa un usuario con mas privilegios ( jefe, tecnico...) pueda acceder al escritorio minimizando el programa. La programacion de eso lo tengo hecho pero me imagino que dentro de mi programa deberia arrancar primero el explorer.exe .

Y, digo yo, ¿por qué ese empeño en dejar sin patas a una mesa?, quiero decir, el escritorio es una parte importante de Windows, ¿que necesidad encuentras para querer ocultar el entorno del escritorio mientras el end-user utiliza tu app?.

De todas formas, es suficiente con matar e iniciar el proceso cuando lo creas conveniente, puedes recurrir a la utilización de la Class System.Diagnostics.Process para llevar a cabo ambas tareas.

Si tienes alguna duda sobre estos temas relacionado con C#, publícala en el subforo dedicado a la programación .Net y allí te ayudaré(mos).

PD: Cuando formules una pregunta sobre Windows, cómo mínimo especifica que versión utilizas, no somos magos.

Saludos!
5663  Sistemas Operativos / Windows / Re: ¿Donde aloja Windows estos mensajes? en: 11 Marzo 2015, 17:35 pm
¿Donde aloja Windows estos mensajes?
¿donde están localizados?

El título de tu pregunta es ligeramente distinto a la pregunta que formulas en el post, y se puede interpretar de varias formas, así que intentaré resolver tus dudas aunque no me queda muy claro lo que realmente quieres averiguar:

Por un lado, y hasta donde yo se, los errores no-controlados de un proceso/librería se reportan y se registran en logs con un formato específico (y, siempre que tengas activado el servicio de registro de eventos de Windows, 'EventLog'), y los puedes visualizar/depurar con el visor de eventos de Windows (Windows EventViewer), que está ubicado en el directorio ...\System32\eventvwr.exe

Si eso es lo único que querías saber, entonces no es necesario que sigas leyendo :P.

Por otro lado, y, también hasta donde yo se, los mensajes de dichos errores, es decir, el mensaje que te muestra en un idioma determinado, están localizados (definidos) en alguno de los archivos de los runtimes de esa aplicación en cuestión, puden estar ubicados entre varios archivos, por ejemplo, si estás ejecutando un ensamblado .Net, es decir, un programa que esté desarrollado en C#/VB.Net, y si éste programa lanza una excepción, entonces el mensaje provendrá de los runtimes de .Net Framework, de cual, es decir, ¿de que "archivo.dll"?, eso dependerá del tipo de excepción, cada librería tiene unos Namespaces diferentes, pero en el ensamblado 'mscorlib.dll' es donde mayor cantidad de excepciones hay definidas (otro ensamblado con excepciones definidas sería 'System.dll', y su tabla de mensajes de errores en el archivo System.Resources.dll).

Por ejemplo un error que practicamente todos los programadores de la plataforma .Net hemos sufrido en al menos una ocasión, sería una excepción del tipo 'NullReferenceException', el mensaje en castellano se obtiene de la tabla de recursos contenida en el ensamblado 'mscorlib.resources.dll':



EDITO: Para ser más específicos, cuando se produce una excepción proveniente de los namespaces del ensamblado 'mscorlib.dll', éste hace una llamada a la función "get_Message", y ésta realiza unas evaluaciones para obtener el mensaje a mostrar dependiendo de la cultura/localización actual de la aplicación ("en-US", "es-ES", etc), si la cultura de la aplicación es "es-ES" entonces sacará el mensaje desde la tabla 'mscorlib.es.resources'.

Aunque sospecho que con una aplicación desarrollada en Visual-C++ sería algo diferente y quizás se obtenga el mensaje de error en alguna de las librerías 'msvcr*.dll', aunque para ser honestos de eso ya no estoy nada seguro, quizás me esté equivocando y se utilicen las mismas tablas porque dicho lenguaje trabaja bajo el C.L.I. y la plataforma .Net Framework, de todas formas tampoco se exactamente de donde se obtienen por ejemplo los mensajes de los errores en tiempo de ejecución que se muestran en aplicaciones desarrolladas en otros lenguajes como C/C++ o Java, aunque cómo ya digo, esos mensajes deben estar definidos en alguno de los archivos de sus runtimes.

EDITO 2:
Aunque lo siguiente que voy a decir resulte muy obvio para muchos de nosotros, cabe mencionar que, un error se puede controlar y se puede suplantar el mensaje de error por un mensaje totalmente único ...personalizado, dicho mensaje se hallará solamente en el binario de esa aplicación, no en los archivos de Windows, claro está.

Saludos
5664  Foros Generales / Foro Libre / Re: El precio de las películas en España en: 11 Marzo 2015, 16:27 pm
Que de tiempo Elektro saludos ;D bueno decir que el precio de las películas en España es un abuso que no vea decir que en donde yo vivo hay mucha diferencia de un cine a otro por ejemplo en Sevilla capital en el barrio de Nervión vale veer una película por persona atento 8 Euros y si te vas a un pueblo de Sevilla y son casi los mismos cines 5,60 mas o menos dependiendo también el día que vaya eso sin contar las putas palomitas y las coca cola que se te puede ir cerca de otros 8 pavos contando que no tenga que invitar a tu pareja jajaj

Bienvenido a España, donde una pizza mediana de Telepizza, que cuesta entre 15-18 € según los ingredientes, equivale al mismo coste (según que casos incluso más) que una película de estreno o o de 1 año de antiguedad.
Dicho de otra forma, la comida en restaurantes "baratos" vale lo mismo que un pequeño capricho materialista (un DVD/BD), ¿hola, balanza?.

No voy a entrar en detalles, pero España es deprimente en todos los aspectos y a mi modo de ver todo empezó a ir mal con la implantación del Euro y la integración de España a la Unión Europea (pero ahora, una década después y con la excusa de la "crisis" y todo lo demás es cuando la mayoría se empieza a dar cuenta y a mirar pa'trás, juas)... los precios suben y suben, cada dia nos cuelan unos centimos de Euro más y los que hemos estado ahí desde el cambio monetario podemos ver que el "redondeo" del Euro ha hecho incrementar hasta el 300-500% (y en algunos casos más, y sigue, y sigue) el precio/valor que tenía cualquier cosa con las pesetas, y claro, con las pesetas esto no pasaría, pero nada, nosotros teniamos que formar parte de los Europitos, que solo nos han causado desgracias económicas y políticas/pseudo-demócratas, plus la pobreza y la hambruna en general que nos queda por sufrir todavía a cada ciudadano de clase "media" que vivimos en este país, por desgracia sé que el tiempo me dará la razón y muchos de vosotros estareis ahí para vivir esa miseria, a menos que milagrosamente aparezca un justiciero que empiece a rodar cabezas y a poner las cosas en su sitio, esta situación solo podrá ir a peor.

Saludos!
5665  Programación / .NET (C#, VB.NET, ASP) / Re: Problema de ordenamiento en: 11 Marzo 2015, 15:16 pm
pues npi por ahora

Pues lo tienes en bandeja, un ejemplo bien específico de MSN.

¿Qué es lo que no entiendes exactamente?, aunque ya me imagio que será... todo o casi todo...

Estás intentano desarrollar una aplicación que requiere el uso de LINQ, o en su defecto Loops (búcles), entonces practica y aprende lo necesario antes de continuar.

Hace tiempo te mostré una descarga oficial de MSDN que contenia 101 ejemplos de la utilización de LINQ en VB.Net... ahí también tienes ejemplos para ordenar una colección.

...Pero si simplemente los copias sin enterarte de lo que haces, luego estarás en las mismas.

PD: No te desgloso la llamada a .OrderBy en el código citado por que te tendría que explicar sobre expresiones Lambda y eso te confundiría aun más, si lo prefieres puedes intentar algo más básico como un For, o simplemente utiliza el método 'Sort' convirtiendo la secuencia a una Lista (Enumerable.ToList).

Ánimo, ¡es algo fácil!

Saludos!
5666  Foros Generales / Foro Libre / Re: El precio de las películas en España en: 11 Marzo 2015, 15:06 pm
Ay, Cuanto daño ha hecho Ramoncín...

Saludos!
5667  Programación / .NET (C#, VB.NET, ASP) / Re: Problema de ordenamiento en: 11 Marzo 2015, 14:44 pm
Te refieres a esta cosa :)

Si, fíjate bien:
Cita de: MSDN
Código
  1. Structure Pet
  2.        Public Name As String
  3.        Public Age As Integer
  4.    End Structure
  5.  
  6.    Sub OrderByEx1()
  7.        ' Create an array of Pet objects.
  8.        Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
  9.                             New Pet With {.Name = "Boots", .Age = 4}, _
  10.                             New Pet With {.Name = "Whiskers", .Age = 1}}
  11.  
  12.        ' Order the Pet objects by their Age property.
  13.        Dim query As IEnumerable(Of Pet) = _
  14.            pets.OrderBy(Function(pet) pet.Age)
  15.  
  16.        Dim output As New System.Text.StringBuilder
  17.        For Each pt As Pet In query
  18.            output.AppendLine(pt.Name & " - " & pt.Age)
  19.        Next
  20.  
  21.        ' Display the output.
  22.        MsgBox(output.ToString())
  23.    End Sub
  24.  
  25.    ' This code produces the following output:
  26.    '
  27.    ' Whiskers - 1
  28.    ' Boots - 4
  29.    ' Barley - 8

Lo suyo es que entiendas esa "cosa" a la que te estás refiriendo, o al menos su utilización.

Saludos
5668  Programación / .NET (C#, VB.NET, ASP) / Re: Problema de ordenamiento en: 11 Marzo 2015, 14:29 pm
Utilizando las extensiones LINQ:
IEnumerable.OrderBy

(Lee el ejemplo en Vb.Net que hay en esa misma página)

Saludos!
5669  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 11 Marzo 2015, 11:43 am
@ServH

Si los campos de esa tabla están separados usando "tabulación", entonces lo tienes fácil y puedes utilizar el ejemplo que mostré.
 
En cambio, si se usa un espacio para separar los campos, y si además hay nombres compuestos cómo has comentado, entonces no hay nada que sea viable, porque realmente necesitarías gestionar una base de datos de nombres para tomarla como referencia a la hora de delimitar correctamente los campos y así poder aumentar la probabilidad de éxito (no sería 100% fiable).

Lo único que se me ocurre, en caso de que los campos esten separados por espacios y no por tabulaciones, es que le pidas al autor de la aplicación que modifique el código para usar un caracter delimitable (por ejemplo un punto y coma ";"), por que el diseño actual sería incorrecto e improductivo.

PD: Y si la aplicación es un ensamblado .Net y no puedes recurrir a la ayuda del autor, entonces siempre puedes recurrir a la mágia de la ingenieria inversa (en este caso utilizando técnicas mediante Reflection) para localizar y modificar el caracter que está usando el programa para separar las celdas.

Saludos.
5670  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 11 Marzo 2015, 10:05 am
¿Crees que es la manera más optima de realizar esto?

No, Batch es una herramienta limitada, está diseñada y orientada a la automatización de tareas simples, los resultados y la eficiencia de cualquier otro lenguaje siempre será más óptimo que Batch, sin excepción alguna.

Sobre el problema que tienes, en parte ese texto que has mostrado se podría considerar un archivo CSV delimitado por espacios, y digo en parte, porque no se si alguno de los campos de esa tabla contiene un "espacio" (ej: 'María del monte'), entonces el algoritmo que uses para delimitar los campos basándose en ese "espacio" delimitador no servirá, y será mucho más complejo, porque si la cantidad de espacios es desconocida... no se cómo vas a reconocer un nombre a menos que utilices una base de datos de nombres, jaja.

Por otro lado, la tarea no requiere más que la utilización de un lenguaje simple cómo es Batch (suponiendo que no haya más espacios adicionales), pero óptimo no es que sea.

En fin, no me enrollo más, lee esta respuesta para hallar una solución mucho más eficiente que Batch:
http://foro.elhacker.net/programacion_general/programa_de_busqueda_con_archivo_csv-t431563.0.html;msg2001628#msg2001628

PD: Ese mismo Snippet que desarrollé en VB.Net te debería servir, pero cambiando el delimitador por un espacio o tabulación o lo que uses, claro está.

PD2: Cómo explico en ese comentario, cualquier otro lenguaje sirve, cómo Python, Ruby, C/C++, Java, etc, la resolución del problema es practicamente la misma en cualquier lenguaje, que consiste en generar un búcle que lea linea por linea, solo que unos lenguajes te lo ponen más fácil que otros, y a partir de ahí la elaboración del algoritmo para hacerlo menos o más sofisticado es cosa tuya.

Saludos!
Páginas: 1 ... 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 [567] 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines