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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 [506] 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 ... 1236
5051  Programación / Scripting / Re: [Perl] Error al enviar Mail en: 27 Junio 2015, 23:39 pm
Supuestamente habrá que modificar el stmp no?

Lee el F.A.Q y/o la referencia y descripción del módulo antes de descargar y probar nada.

LIMITATIONS

No suport for the SMTP AUTH extension.

The SMTP server has to be set manually in Sendmail.pm or in your script, unless you have a mail server on localhost.

http://search.cpan.org/~mivkovic/Mail-Sendmail-0.79/Sendmail.pm



¿Y el stmp de gmail?

puerto SMTP = 587
SSL activado

también puedes usar este módulo que ya parece hacer esa tarea de forma automatizada:
http://search.cpan.org/~peco/Email-Send-SMTP-Gmail-0.1.1/lib/Email/Send/SMTP/Gmail.pm

Saludos!
5052  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] Environment Util (Un set de classes para VB.Net sobre el entorno Win) en: 27 Junio 2015, 21:40 pm
Solo concierne a la aplicación, vale pensé que era global.

Si te refieres a que si había implementado algún Hook para interceptar la eliminación de archivos de manera global o algo parecido... pues no.

En cambio, si lo dices por esto:
Citar
Notifies the system of an event that an application has performed. An application should use this function if it performs an action that may affect the Shell.

...entonces no te dejes engañar confundir por lo que pone, si que afecta de manera global, por ejemplo si eliminas un archivo desde la consola de Windows y quieres refrescar los cambios de la carpeta donde se eliminó, puedes hacerlo llamando a esa función desde tu app.

Saludos!
5053  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] Environment Util (Un set de classes para VB.Net sobre el entorno Win) en: 27 Junio 2015, 20:32 pm
Gracias por comentar.

¿a caso estás hookeando algun módulo para que te chive que carpetas (por ejemplo) se han creado en X directorio?

Esos métodos de notificación son un simple wrapper de la función SHChangeNotify
Notifies the system of an event that an application has performed. An application should use this function if it performs an action that may affect the Shell.

Los métodos de notificación están ahí para que cada uno quiera darle los propósitos que uno quiera, es útil por ejemplo al registrar una asociación de archivo, o tras modificar los iconos del sistema, o si tienes la ventana del explorer abierta en "Mi PC" y quieres refrescar los cambios de espacio libre en los labels, o si hookeas alguna función que crea carpetas y quieres notificar al sistema la carpeta creada por algún motivo cómo has mencionado, simplemente están ahí para cualquier uso.

Saludos!
5054  Programación / .NET (C#, VB.NET, ASP) / [SOURCE] Environment Util (Un set de classes para VB.Net sobre el entorno Win) en: 27 Junio 2015, 19:40 pm

ACTUALIZADO EL 27/JUNIO/2015



• ¿ Para que sirve esto ?

EnvironmentUtil.vb es una Class con un conjunto de Classes hijas que cumplen diversas funcionalidades relacionadas con el entorno de Windows, funcionalidades que mediante la librería de classes de .NET Framework no se pueden llevar a cabo, y en algunos casos para simplificar a éstas,
permite modificar muchos parámetros del sistema cómo por ejemplo la velocidad del mouse o del teclado, así cómo desde poder registrar una variable de entorno en el sistema, modificar el wallpaper del escritorio, mostrar u ocultar el escritorio o la barra de tareas, anclar o desanclar items en la barra de tareas o el menú de inicio, hasta iterar las ventanas del explorador de Windows o notificar ciertos eventos del sistema (y del registro) para afectar los cambios.

En resumen, sirve para todo un poco, ya que hace un poco de casi todo, pero obviamente le faltan muchísimas posibles funcionalidades adicionales.

La Class consta de más de 8.000 lineas de código, esto hace un poco compleja la manutención y depuración del código, es posible que haya algún bug que no he detectado todavía, sean tolerantes con esto y sean libres de reportarme cualquier problema para poder corregirlo.
 
Acepto cualquier tipo de crítica y/o petición para añadirle nuevas funcionalidades a este proyecto, ya que a pesar de ser tanto código lo cierto es que por ahora cumple poquitas funciones, si les ha gustado entonces dejen su omentario y no tienen más que decirme que característica les gustaría que implementase en esta class ...la única condición es que la característica debe estar relacionada con la temática de la Class :).



• ¿ Cómo lo hago funcionar ?

La Class contiene varias classes hijas cuyo nombre ya da una pista sobre el tipo de funcionalidades que se pueden encontrar:
  • EnvironmentUtil.EnvironmentVariables
  • EnvironmentUtil.FileSystem
  • EnvironmentUtil.OS
  • EnvironmentUtil.Programs
  • EnvironmentUtil.Shell
  • EnvironmentUtil.Shell.Desktop
  • EnvironmentUtil.Shell.Explorer
  • EnvironmentUtil.Shell.StartMenu
  • EnvironmentUtil.Shell.TaskBar
  • EnvironmentUtil.Theming

Algunas funcionalidades requieren que se añada algunas referencias al proyecto:
  • Microsoft Shell Controls And Automation (COM) (Interop.SHDocVw.dll)
  • Microsoft Internet Controls (COM) (Interop.Shell32.dll)

La Class se puede utilizar directamente copiando todo el código en una nueva Class, o también se puede compilar el código en una librería dinámica dll.

A cada miembro le añadí documentación XML para IntelliSense, para entender cual es el propósito de cada miembro, y cómo hacerlo funcionar explicando cada parámetro.

Además, abajo puedne ver el diagrama de Classes, y además también, en la cabecera de la Class, pueden encontrar una región que contiene un sumario de los miembros públicos de cada clase hija.

Importante:
Debo mencionar que yo he compartido la class "compactada" así muy "arrejuntada" o cómo quieran llamarlo pero solamente lo he hecho para que sea facil su distribuición en un único archivo.
Si van a usar/compilar este proyecto, entonces lo correcto sería separar las clases hijas en distintos archivos ...sobre todo para que el mantenimiento no se vuelva una pesadilla entre tantos miles de lineas de código.




• Código fuente:
http://pastebin.com/2WW6j3h8



• Lista de propiedades, métodos y funciones públicas (y los types que acepta cada overload)

Código
  1. #Region " Public Members Summary "
  2.  
  3. #Region " Child Util-Classes "
  4.  
  5. EnvironmentUtil.EnvironmentVariables
  6. EnvironmentUtil.FileSystem
  7. EnvironmentUtil.OS
  8. EnvironmentUtil.Programs
  9. EnvironmentUtil.Shell
  10. EnvironmentUtil.Shell.Desktop
  11. EnvironmentUtil.Shell.Explorer
  12. EnvironmentUtil.Shell.StartMenu
  13. EnvironmentUtil.Shell.TaskBar
  14. EnvironmentUtil.Theming
  15.  
  16. #End Region
  17.  
  18. #Region " Properties "
  19.  
  20. EnvironmentUtil.EnvironmentVariables.CurrentVariables(EnvironmentUtil.EnvironmentUser) As ReadOnlyCollection(Of EnvironmentUtil.EnvironmentVariables.EnvironmentVariableInfo)
  21. EnvironmentUtil.OS.ActiveWindowTrackingEnabled As Boolean
  22. EnvironmentUtil.OS.ActiveWindowTrackingTimeout As UShort
  23. EnvironmentUtil.OS.BeepEnabled As Boolean
  24. EnvironmentUtil.OS.BlockSendInputResetsEnabled As Boolean
  25. EnvironmentUtil.OS.BorderMultiplierFactor As Integer
  26. EnvironmentUtil.OS.CaretWidth As Integer
  27. EnvironmentUtil.OS.CleartypeEnabled As Boolean
  28. EnvironmentUtil.OS.ClientAreaAnimationEnabled As Boolean
  29. EnvironmentUtil.OS.ComboBoxAnimationEnabled As Boolean
  30. EnvironmentUtil.OS.CurrentArchitecture() As EnvironmentUtil.OS.Architecture
  31. EnvironmentUtil.OS.CursorShadowEnabled As Boolean
  32. EnvironmentUtil.OS.DoubleClickSize As Size
  33. EnvironmentUtil.OS.DoubleClickTime As Integer
  34. EnvironmentUtil.OS.DragFullWindowsEnabled As Boolean
  35. EnvironmentUtil.OS.DragSize As Size
  36. EnvironmentUtil.OS.DropShadowEnabled As Boolean
  37. EnvironmentUtil.OS.FlatMenuEnabled As Boolean
  38. EnvironmentUtil.OS.FocusBorderSize As Size
  39. EnvironmentUtil.OS.FontSmoothingContrast As Integer
  40. EnvironmentUtil.OS.FontSmoothingEnabled As Boolean
  41. EnvironmentUtil.OS.ForegroundFlashCount As UShort
  42. EnvironmentUtil.OS.ForegroundLockTimeout As UShort
  43. EnvironmentUtil.OS.HotTrackingEnabled As Boolean
  44. EnvironmentUtil.OS.HungAppTimeout As Integer
  45. EnvironmentUtil.OS.IconSpacing As Size
  46. EnvironmentUtil.OS.IconTitleWrappingEnabled As Boolean
  47. EnvironmentUtil.OS.KeyboardDelay As Integer
  48. EnvironmentUtil.OS.KeyboardSpeed As Integer
  49. EnvironmentUtil.OS.ListBoxSmoothScrollingEnabled As Boolean
  50. EnvironmentUtil.OS.MenuAccessKeysUnderlined As Boolean
  51. EnvironmentUtil.OS.MenuAnimationEnabled As Boolean
  52. EnvironmentUtil.OS.MenuFadeEnabled As Boolean
  53. EnvironmentUtil.OS.MenuShowDelay As Integer
  54. EnvironmentUtil.OS.MessageDuration As Long
  55. EnvironmentUtil.OS.MouseButtonsSwapEnabled As Boolean
  56. EnvironmentUtil.OS.MouseClickLockEnabled As Boolean
  57. EnvironmentUtil.OS.MouseClickLockTime As Integer
  58. EnvironmentUtil.OS.MouseHoverSize As Size
  59. EnvironmentUtil.OS.MouseHoverTime As Integer
  60. EnvironmentUtil.OS.MouseSonarEnabled As Boolean
  61. EnvironmentUtil.OS.MouseSpeed As Integer
  62. EnvironmentUtil.OS.MouseTrailAmount As Integer
  63. EnvironmentUtil.OS.MouseVanishEnabled As Boolean
  64. EnvironmentUtil.OS.MouseWheelScrollLines As Integer
  65. EnvironmentUtil.OS.OverlappedContentEnabled As Boolean
  66. EnvironmentUtil.OS.PopupMenuAlignment As LeftRightAlignment
  67. EnvironmentUtil.OS.ScreensaverEnabled As Boolean
  68. EnvironmentUtil.OS.ScreensaverPath As String
  69. EnvironmentUtil.OS.ScreensaverTimeout As Integer
  70. EnvironmentUtil.OS.ScreensaveSecureEnabled As Boolean
  71. EnvironmentUtil.OS.SelectionFadeEnabled As Boolean
  72. EnvironmentUtil.OS.SnapToDefaultEnabled As Boolean
  73. EnvironmentUtil.OS.SystemDateTime As Date
  74. EnvironmentUtil.OS.SystemLanguageBarEnabled As Boolean
  75. EnvironmentUtil.OS.TitleBarGradientEnabled As Boolean
  76. EnvironmentUtil.OS.ToolTipAnimationEnabled As Boolean
  77. EnvironmentUtil.OS.UIEffectsEnabled As Boolean
  78. EnvironmentUtil.OS.WaitToKillAppTimeout As Integer
  79. EnvironmentUtil.OS.WaitToKillServiceTimeout As Integer
  80. EnvironmentUtil.OS.WheelscrollChars As Integer
  81. EnvironmentUtil.Programs.DefaultWebBrowser() As String
  82. EnvironmentUtil.Programs.IExplorerVersion() As Version
  83. EnvironmentUtil.Shell.Explorer.ExplorerWindows As ReadOnlyCollection(Of ShellBrowserWindow)
  84. EnvironmentUtil.Shell.Explorer.ExplorerWindowsFolders As ReadOnlyCollection(Of Shell32.Folder2)
  85. EnvironmentUtil.Shell.TaskBar.ClassName() As String
  86. EnvironmentUtil.Shell.TaskBar.Hwnd() As Intptr
  87. EnvironmentUtil.Theming.AeroEnabled() As Boolean
  88. EnvironmentUtil.Theming.AeroSupported() As Boolean
  89. EnvironmentUtil.Theming.CurrentTheme() As EnvironmentUtil.Theming.ThemeInfo
  90. EnvironmentUtil.Theming.CurrentWallpaper() As String
  91. EnvironmentUtil.Theming.WallpaperAsJpegIsSupported() As Boolean
  92. EnvironmentUtil.Theming.WallpaperStylesFitFillAreSupported() As Boolean
  93.  
  94. #End Region
  95.  
  96. #Region " Types "
  97.  
  98. EnvironmentUtil.EnvironmentVariables.EnvironmentVariableInfo
  99. EnvironmentUtil.Theming.ThemeInfo
  100.  
  101. #End Region
  102.  
  103. #Region " Functions "
  104.  
  105. EnvironmentUtil.EnvironmentVariables.GetValue(EnvironmentUtil.EnvironmentUser, String, Boolean) As String
  106. EnvironmentUtil.EnvironmentVariables.GetVariableInfo(EnvironmentUtil.EnvironmentUser, String, Boolean) As EnvironmentUtil.EnvironmentVariables.EnvironmentVariableInfo
  107. EnvironmentUtil.FileSystem.GetItemVerbs(String) As IEnumerable(Of FolderItemVerb)
  108. EnvironmentUtil.FileSystem.ItemNameIsInvalid(String) As Boolean
  109. EnvironmentUtil.FileSystem.ItemNameOrPathIsInvalid(String) As Boolean
  110. EnvironmentUtil.FileSystem.ItemPathIsInvalid(String) As Boolean
  111.  
  112. #End Region
  113.  
  114. #Region " Methods "
  115.  
  116. EnvironmentUtil.EnvironmentVariables.RegisterVariable(EnvironmentUtil.EnvironmentUser, EnvironmentUtil.EnvironmentVariables.EnvironmentVariableInfo, Boolean)
  117. EnvironmentUtil.EnvironmentVariables.RegisterVariable(EnvironmentUtil.EnvironmentUser, String, String, Boolean)
  118. EnvironmentUtil.EnvironmentVariables.UnregisterVariable(EnvironmentUtil.EnvironmentUser, String, Boolean)
  119. EnvironmentUtil.FileSystem.InvokeItemVerb(String, String)
  120. EnvironmentUtil.OS.NotifyDirectoryAttributesChanged(String)
  121. EnvironmentUtil.OS.NotifyDirectoryCreated(String)
  122. EnvironmentUtil.OS.NotifyDirectoryDeleted(String)
  123. EnvironmentUtil.OS.NotifyDirectoryRenamed(String, String)
  124. EnvironmentUtil.OS.NotifyDriveAdded(String, Boolean)
  125. EnvironmentUtil.OS.NotifyDriveRemoved(String)
  126. EnvironmentUtil.OS.NotifyFileAssociationChanged()
  127. EnvironmentUtil.OS.NotifyFileAttributesChanged(String)
  128. EnvironmentUtil.OS.NotifyFileCreated(String)
  129. EnvironmentUtil.OS.NotifyFileDeleted(String)
  130. EnvironmentUtil.OS.NotifyFileRenamed(String, String)
  131. EnvironmentUtil.OS.NotifyFreespaceChanged(String)
  132. EnvironmentUtil.OS.NotifyMediaInserted(String)
  133. EnvironmentUtil.OS.NotifyMediaRemoved(String)
  134. EnvironmentUtil.OS.NotifyNetworkFolderShared(String)
  135. EnvironmentUtil.OS.NotifyNetworkFolderUnshared(String)
  136. EnvironmentUtil.OS.NotifyUpdateDirectory(String)
  137. EnvironmentUtil.OS.NotifyUpdateImage()
  138. EnvironmentUtil.OS.ReloadSystemCursors()
  139. EnvironmentUtil.OS.ReloadSystemIcons()
  140. EnvironmentUtil.OS.RunDateTime()
  141. EnvironmentUtil.OS.RunExecuteDialog()
  142. EnvironmentUtil.OS.RunFindComputer()
  143. EnvironmentUtil.OS.RunFindFiles()
  144. EnvironmentUtil.OS.RunFindPrinter()
  145. EnvironmentUtil.OS.RunHelpCenter()
  146. EnvironmentUtil.OS.RunSearchCommand()
  147. EnvironmentUtil.OS.RunTrayProperties()
  148. EnvironmentUtil.OS.RunWindowsSecurity()
  149. EnvironmentUtil.OS.RunWindowSwitcher()
  150. EnvironmentUtil.Shell.Desktop.CascadeWindows()
  151. EnvironmentUtil.Shell.Desktop.Hide()
  152. EnvironmentUtil.Shell.Desktop.Show()
  153. EnvironmentUtil.Shell.Desktop.TileWindowsHorizontally()
  154. EnvironmentUtil.Shell.Desktop.TileWindowsVertically()
  155. EnvironmentUtil.Shell.Desktop.ToggleState()
  156. EnvironmentUtil.Shell.Explorer.AddFileToRecentDocs(String)
  157. EnvironmentUtil.Shell.Explorer.RefreshWindows()
  158. EnvironmentUtil.Shell.StartMenu.PinItem(String)
  159. EnvironmentUtil.Shell.StartMenu.UnpinItem(String)
  160. EnvironmentUtil.Shell.TaskBar.Hide(Boolean)
  161. EnvironmentUtil.Shell.TaskBar.PinItem(String)
  162. EnvironmentUtil.Shell.TaskBar.Show(Boolean)
  163. EnvironmentUtil.Shell.TaskBar.UnpinItem(String)
  164. EnvironmentUtil.Theming.RemoveDesktopWallpaper()
  165. EnvironmentUtil.Theming.SetDesktopWallpaper(String, EnvironmentUtil.Theming.WallpaperStyle)
  166. EnvironmentUtil.Theming.SetSystemCursor(String, EnvironmentUtil.Theming.CursorType)
  167.  
  168. #End Region
  169.  
  170. #End Region

• Diagrama de Classes:













5055  Programación / Scripting / Re: [Duda] ¿Algún curso/manual de Perl? en: 27 Junio 2015, 18:41 pm
Recopilatorio de temas interesantes - Scripting -

Saludos
5056  Programación / .NET (C#, VB.NET, ASP) / Re: Capturar teclas y mostrarlas en un Textbox o ListBox en: 26 Junio 2015, 10:39 am
Ahora quiero cambiar eso y lo que quiero hacer es que, lea las pulsaciones del teclado, y las muestre en un textbox o listbox.

1. ¿Dentro, o fuera de la ventana de la aplicación?.

2. ¿Tecnología Windows Forms, o WPF?.

Doy por entendido que pretendes capturar las pulsaciones del teclado de manera global, ya que la app no parece ética... y... ¿donde está tú código?, aquí no se hacen tareas.

Necesitarás crear un Hook de bajo nivel del teclado, no es muy complejo, pero si tedioso, ya que necesitasrás P/Invokear bastante y si no te documentas bien sobre las funciones y el callback del teclado te puedes perder un poco.

Aparte de eso, si quieres que sea perfecto también necesitarías obtener y aplicar el layout del teclado actual (para interceptar correctamente teclas cómo la Ç o la Ñ) e implementar tu propia lógica con ello, e identificar los modificadores de tecla, que aparte de con la WinAPI, también los puedes identificar con las dos classes de WPF que menciono al final del todo de este post.

Te indico más o menos lo necesario para desarrollar un keylogger normalito:

Funciones:
SetWindowsHookEx + WH_KEYBOARD_LL Hook Type
CallNextHookEx
UnhookWindowsHookEx

Estructuras:
KBDLLHOOKSTRUCT

Callbacks/Delegados:
KeyboardProc

Mensajes de ventana:
WM_KEYDOWN
WM_KEYUP
WM_SYSKEYDOWN
WM_SYSKEYUP

Utilidades adicionales (que puedes usar en WinForms también):
System.Windows.Input.KeyInterop Class (para convertir un código de tecla virtual a tecla, y viceversa)
System.Windows.Input.KeyBoard Class (sustituye al P/Invoking de varias funciones como la mencionada en el comentario de arriba, GetAsyncKeyState, y tiene otros miembros muy útiles, la class Input en general)

Tienes faena :xD, en realidad te costaría mucho más aprenderlo, que poner en práctica lo aprendido, no es dificil y además con todos los ejemplos que puedes encontrar por Google, ánimo...

PD: Aparte hay una técnica mejor que la tradicional, RAWINPUT (que requieren gran cantidad de P/Invoking también), pero he preferido detallar la tecnica del hooking ya que te resultará más sencilla que esto:
About Raw Input

Citar
The raw input model is different from the original Windows input model for the keyboard and mouse. In the original input model, an application receives device-independent input in the form of messages that are sent or posted to its windows, such as WM_CHAR, WM_MOUSEMOVE, and WM_APPCOMMAND. In contrast, for raw input an application must register the devices it wants to get data from. Also, the application gets the raw input through the WM_INPUT message.

There are several advantages to the raw input model:

    An application does not have to detect or open the input device.
    An application gets the data directly from the device, and processes the data for its needs.
    An application can distinguish the source of the input even if it is from the same type of device. For example, two mouse devices.
    An application manages the data traffic by specifying data from a collection of devices or only specific device types.
    HID devices can be used as they become available in the marketplace, without waiting for new message types or an updated OS to have new commands in WM_APPCOMMAND.

Saludos!
5057  Programación / .NET (C#, VB.NET, ASP) / Re: Instrucción que es ignorada en: 26 Junio 2015, 09:49 am
¿Y si compilo para x86 será compatible tanto para windows de 32 como 64 bits?

Si, un S.O de 64 Bits puede correr aplicaciones de 32 Bits.



Respecto a modificar la arquitectura, por el contrario, no debería hacerlo, ¿verdad?

En tu caso no es necesario modificarla. deberías compilar en AnyCpu o en x86.



Usted anteriormente comentó que si es de x64 no detecta correctamente las excepciones.

En conclusión, VB sí detecta las excepciones que ocurren y que no son controladas, pero no lo hace si dichas excepciones ocurren en el evento Load.

No dije eso exactamente, lo que intenté explicarte es que debido a la naturaleza por parte de cómo el compiler trabaja durante ese paso específico y bajo x64, si añades código "inseguro" en el método suscrito al evento Form.Load y se produce una excepción, aunque la exepción se intercepte internamente, no te saldrá ningún mensaje de error en Visual Studio, y con eso pretendía que entendieras que al hacer lo que estabas haciendo, estabas siguiendo una mala práctica que debes evitar.

De todas formas cabe mencionar que cuando eso ocurre, la linea de la instrucción se resaltará (se eligirá esa linea aunque no aparezca ningún mensaje de error), y siempre puedes revisar el call stack manualmente para analizar lo ocurrido e intentar depurarlo.

Pero simplemente no uses ese evento Form.Load para añadir código de ese tipo, usa el evento Form.Shown por ejemplo, cómo ya dije.



PD: He creado una clase Conexion para usarla en todo lo referente a consultar/ejecutar operaciones sobre una BD en SqlServer. Tengo algunas preguntas sobre qué es lo más recomendable, creo que haré un nuevo hilo para ello.

No me manejo con SQL, pero espero que puedas resolver el problema que tengas.

Saludos!
5058  Informática / Software / Re: FL Studio 11 en: 26 Junio 2015, 07:45 am
Está completo el programa o son demos ?

Es una aplicación comercial, es decir, de pago; obviamente si te la descargas de la página oficial entonces estarás descargando una demostración limitada/trial, en cambio, si te la descargas por torrent y si en el título pone "Include Patch"...

Tengo Windows 7 32 Bit me valdrá esta versión de FL Studio 12 que me estoy descargando ? Saludos.

No lo se, yo uso Win 8.1, pero supongo que si.

De todas formas, si tienes dudas siempre puedes buscar los requisitos mínimos de sistema para el FL 12 en la página oficial del programa, no lo voy a hacer yo xD.

Saludos!
5059  Programación / .NET (C#, VB.NET, ASP) / Re: Instrucción que es ignorada en: 26 Junio 2015, 06:58 am
¿Si compilo bajo x64 significa que el Release de la aplicación solo podría ejecutarse en ordenadores de 64 bits?

Si compilas para x64 significa que estás haciendo la app compatible unicamente para Windows de 64 Bits, ya estés generando la compilación en modo Debug o en modo Release (obvio)



Una vez leí que x86 era lo mismo que x32

x86 = 32 Bits.
x64 = 64 Bits.

x32 = NADA.
Es un término incorrecto que tiende a ser utilizado en el sentido de querer referirse a "32-bit", pero por simple desconocimiento del término adecuado.
El término x32 tendría sentido por ejemplo si estuvieramos hablando de Linux (x32 ABI).



mi ordenador es de 64 bits y al abrir el proyecto se muestra esto

Ahá, es por que has elegido el modo Release a 32 Bits.

Puedes modificar la arquitectura a 64 Bits o Neutral (AnyCPU) en cualquier momento, desde ahí y también en la pestaña "Compile" de las propiedades de la solución de Visual Studio (En el explorador de soluciones -> Click derecho en el nombre de la solución "WES II" -> "Properties").

Nota: Si compilas en modo Neutral (es decir, AnyCPU), cómo estás bajo un Windows de 64 Bits entonces se te ejecutará la versión de 64 Bits (aunque, cabe mencionar que se puede especificar que haga lo opuesto).



En Java por alguna razón me acostumbré a escribir "código inicial" para los formularios en el constructor... pero como en VC++ al dar doble click sobre el formulario cargaba un método asociado al evento Load, creí que era lo correcto.

No, no es incorrecto, simplemente es innecesario ...mientras las circunstancias no requieran que añadas un Conctructor.

Ten en cuenta que Visual Studio es la IDE más completa, elaborada y optimizada para el desarrollador (indiferentemente de sus lenguajes soportados), la IDE siempre va a intentar automatizarte las tareas más comunes... cómo la que has comentado, pero eso no significa que manipular el código auto-generado por Visual Studio sea algo incorrecto, siempre que sepas lo que estás haciendo, claro está.

Sí lo intenté, pero el contenido de la ventana no cargaba. Luego noté que hacía falta usar InitializeComponent(), como usted lo menciona.

Claro, si te fijas verás que el método InitializeComponent es un método que contiene código auto-generado que está en la Class X.Designer.vb (donde "X" sería el nombre del Form), donde se inicializan todos los objetos/controles del Form y se le asignan los valores de las propiedades por defecto y las que hayas modificado en tiempo de diseño (en el constructor de la GUI), si no llamas a ese método ...entonces no hay Form xD.

Por si no lo sabias, es suficiente con que escribas public sub new, le das a la tecla Enter, y Visual Studio ya te genera este código:

Código
  1. Public Sub New()
  2.  
  3.    ' This call is required by the designer.
  4.    InitializeComponent()
  5.  
  6.    ' Add any initialization after the InitializeComponent() call.
  7.  
  8. End Sub

El mismo "truco" (si se le puede llamar así) también lo puedes aplicar al declarar implementaciones, por ejemplo:

Escribir public class form2 : implements idisposable + pulsar tecla Enter, generará este código:

Código
  1. Public Class form2 : Implements idisposable
  2.  
  3. #Region "IDisposable Support"
  4.    Private disposedValue As Boolean ' To detect redundant calls
  5.  
  6.    ' IDisposable
  7.    Protected Overridable Sub Dispose(disposing As Boolean)
  8.        If Not Me.disposedValue Then
  9.            If disposing Then
  10.                ' TODO: dispose managed state (managed objects).
  11.            End If
  12.  
  13.            ' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
  14.            ' TODO: set large fields to null.
  15.        End If
  16.        Me.disposedValue = True
  17.    End Sub
  18.  
  19.    ' TODO: override Finalize() only if Dispose(ByVal disposing As Boolean) above has code to free unmanaged resources.
  20.    'Protected Overrides Sub Finalize()
  21.    '    ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
  22.    '    Dispose(False)
  23.    '    MyBase.Finalize()
  24.    'End Sub
  25.  
  26.    ' This code added by Visual Basic to correctly implement the disposable pattern.
  27.    Public Sub Dispose() Implements IDisposable.Dispose
  28.        ' Do not change this code.  Put cleanup code in Dispose(disposing As Boolean) above.
  29.        Dispose(True)
  30.        GC.SuppressFinalize(Me)
  31.    End Sub
  32. #End Region
  33.  
  34. End Class



ese tip lo hace considerando de que quiero escribir "código inicial" que pueda cerrar la ventana en algunos casos y que quiero que la ventana no llegue a observarse nunca si tales casos ocrreun, ¿verdad?

Sí, por que de otro modo, si intentases cerrar el Form en el Constructor no podrías cerrarlo ya que al llamar al método Form.Close se intentaría liberar (llamando internamente al método Form.Dispose) un Form que todavía no ha sido inicializado, y eso lanzaría una excepción.

Y si lo intentases en el método que controla el evento Form.Load bajo una app x64 y ocurriese la excepción que mencionaste pues... ya sabes lo que pasaría.

Así que ...sí, pienso que lo mejor sería ejecutar esas instrucciones en el método que controla el evento Form.Shown.

De todas formas, si ahora ya estás controlando la excepción que mencionaste, es decir, si la tienes encerrada un bloque Try/Catch, entonces si que puedes usar el evento Form.Load para cerrar el form (sin que sea visible ni nada), o suplantar el método Form.OnLoad o Form.OnControlCreated, cómo te muestro en este ejemplo:

Código
  1. Public NotInheritable Class Form2 : Inherits Form
  2.  
  3.    <DebuggerStepThrough>
  4.    Protected Overrides Sub OnLoad(e As EventArgs)
  5.  
  6.        Me.MyMethod()
  7.        MyBase.OnLoad(e)
  8.  
  9.    End Sub
  10.  
  11.    <DebuggerStepThrough>
  12.    Private Sub MyMethod()
  13.  
  14.        Try
  15.            Throw New Exception(message:="Excepción intencionada.")
  16.  
  17.        Catch ' ex As Exception
  18.            MyBase.Close()
  19.  
  20.        End Try
  21.  
  22.    End Sub
  23.  
  24. End Class

Saludos!
5060  Seguridad Informática / Hacking / Re: no puedo acceder al directorio images de un sitio web hackeado en: 25 Junio 2015, 03:18 am
Desde tu registro cómo usuario en febrero del año 2012 has tenido tiempo suficiente cómo para leer y conocer las normas más importantes del foro, no veo necesario ni mencionar la que has incumplido. Si todavía no conoces las normas del foro, por favor, leetelas.

Tema cerrado.
Páginas: 1 ... 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 [506] 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines