Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - okik

#471
si eso me ha pasado a mi también con una red Wifi pública de mi ciudad. Pero ahora lo permiten.

Usa el navegador TOR, y podrás entrar sin problemas.

Creo que es un bloqueo DNS, tu demanda pasa por un servidor (filtro) que tiene una lista de drecciones "prohibidas" y las bloquea, entonces te sale este mensaje.

Algo así tengo entendido

La empresa que me bloqueaba era esta OpenDNS




SinBloqueo DNS

#472
No es mi intención discutir solo aclarar

A ver, si quiere ocultar el icono de notificación por lógica debe ser porque no quiere que otra persona pueda ver que se está ejecutando dicho programa ¿no? pues la idea es que oculte la aplicación o muestre a su antojo según quiera que se vea o no el icono de notificación.

No con todas las apliciaciones funciona lo de ocultar la ventana. Solo con aquellas que se inician en modo venta y tienen la opción de minimizar en el icono de notificación.

Sin embargo, creo que si que es posible ocultar sólo el icono de notificación usando:

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

pero es necesario obtener el ID del icono, que eso ya no se como


nota: creo que yo estaba reeditando mi respuesta cuando tu pusiste la tuya luego no ha sido mi intención pisarte tu respuesta  :-\
#473
Cita de: MCKSys Argentina en 26 Septiembre 2016, 23:14 PM
Hola!

Fijate si esta solucion te sirve.

Saludos!

Fíjate que el lo quiere hacer en VB6. El código que le das es para NET.  Si usa NET igual le vale  :P y teniendo en cuenta lo de la incompatibilidad quizás sea mejor que use NET.
#474
ay amigo, amigo  por que no funcionará   :D

pues te explico.

yo ejecuté el código ayer y tampoco me funcionaba de echo tuve problemas. Lo ejecuté en el PC y aquí tengo W7 en una partición, con VS2012. Estuve añadiendo referencias de base de datos. Esto me provocó una serie de problemas, relacionados con ntdll.dll y tuve que restaurar a un punto anterior, porque no supe como arreglarlo.

Creo que se añadieron o se modificaron claves de registro y se me producían errores en Internet Explorer y en Visual Studio 2012, buen este es que ni se podía trabajar.

Hoy he ejecutado el código en Windows XP, después de instalarle el VB6. Y funciona a la perfección.

Así que la razón que no funcione puede ser porque usas Windows 7/8/10 o porque tengas instalado VS.NET.   No se qué razón de las dos puede ser. Todos los sistema que tengo, tengo metido el VS.NET, excepto en Linux y XP que lo tengo en máquina virtual.  Así que me quedo con la duda. La razón exacta que produce esta incompatibilidad no la se.

El caso es que el código funciona y la razón que a ti no te funcione puede ser la misma...




El código del enlace, el que está en el ZIP, usa
Microsoft ActiveX Data Objects 2.8

usa la librería:
C:\Program Files (x86)\Common Files\System\ado\msado15.dll
y la versión del archivo original es:
2.81.1132.0


mientras que el que yo tengo en W7 es:
6.1.7601.17514

Esta actualización puede que sea el problema.

Probaría sustituir la nueva por a vieja a ver si en W7 me funciona el código, pero después de lo de ayer, no me arriesgo XD



#475
Hola. Ayer la lié parda añadiendo referencias a VB6, con motivo a una respuesta a otro usuario de este foro. Estuve añadiendo referencias ActiveX para probar códigos relacionados con bases de datos y SQL.

A partir de entonces me surge este problema navegando con IE (uso 3 navegadores) y con Visual Studio 2012

En IE me surgía este error:

APPCRASH ntdll.dll Exception Code: c0000005

y las referencias que añadí  en VB6 fueron estas:
Microsoft ActiveX Data Object (Multi-dimensional)
Microsoft ActiveX Data Object 2.0/2.1/2.5/2.6/2.8/6.0
Microsoft Active Server Pages Objext Library
Microsoft ADO Ext. 2.8 for DDL and Security
Microsoft DAO 2.5/3.51 Compatibility Library
Microsoft DAO 3.6 Object Library
Microsoft SQL Parser Object Library 1.0
Microsoft SQL Server Compact Control
Microsoft SQL Server Compact Edition Control



VS también me daba APPCRASH, y tras iniciar varias veces, tras varios errores, arrancó pero no podía iniciar proyecto de ningún tipo.

Solucioné el problema restaurando el sistema de Windows a un punto anterior. Vamos, no me compliqué la vida.

Pero me queda la duda de que es lo que ha ocurrido.

Según parece tiene algo que ver con el SQL.





#477
hola,

se nota que al escribir que trabajas en eso, porque hablas presuponiendo que todos te entienden a que te refieres según que cosa, pero no es así. Eso ocurre cuando uno sabe mucho de algo y abrevia, resume, usa siglas o términos que para alguien que no sabe de que va no se entera, incluso aunque lo haya hecho.  

no es algo que haga todo el mundo, así que el número de personas que te pueden ayudar (y que te entiendan) se reduce. ¿Has probado con poner en google "Crear  USB Multiboot" o "Crear multiboot Windows"?

How To Install Windows XP, Windows 7 And Windows 8/10 From The Same USB Drive [Must Read]


Yo uso WinSetupFromUSB y con el se puede hacer multiboot como se puede ver en el enlace. Es poco conocido pero va muy bien, lo digo porque por aquí siempre se mencionan el unetbootin y el rufus, pero casi nunca este.

y si no te soluciona le problema, busca en google como te he sugerido, o a ver si otro usuario te lo soluciona.

Suerte con el USB


#478
ya lo encontré   :laugh:

Realmente es muy simple, busqué entre mis snippets modificaciones de ventana, en los cuales les envío un mensaje  a una ventana para cambiar los menús la barra añadir cosas, obtener informción, etc.

Y finalmente es de lo más simple. Simplemente ocultando la ventana con ShowWindow. Más bien eliminando el modo 'ventana'


Código (vbnet) [Seleccionar]
  <DllImport("user32.dll")> _
   Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
   End Function



Obtienes el handle mendiante Process, con NET por ejemplo:

Código (vbnet) [Seleccionar]
    Dim NommbreAppa As String = "Notepad"
       Dim HwndProcess As IntPtr = IntPtr.Zero
       For Each Proceso In Process.GetProcesses()
           If Proceso.ProcessName = NommbreAppa.ToLower Then
               HwndProcess = Proceso.MainWindowHandle
           End If
       Next



y luego le cambias el estado a oculto:

Código (vbnet) [Seleccionar]
ShowWindow(HwndProcess, 0)

hay que poner 0, para ocultarlo 1 para minimizado y 2 para normal.

Sin embargo una vez oculto (bueno sin ventana) Process.GetProcesses(), no encuentra el proceso. Lo digo por si luego se quiere cambiar el estado a Visible.
Entonces hay que usar otro código para obtener el handle de un proceso sin ventana. Hay algunos por ahí.


pero.... no se si el truquillo funcionaría con todo tipo de procesos, si al hacer clic en el icono es posible maximizar la aplicación o mostrarlo en ventana, en principio si que debería funcionar.

Si la aplicación no está en modo ventana entonces Process.getProcesses no encontrará el handle. Es necesario que esté en modo ventana.,



...Estoy buscando uno que tenía que desactivaba el icono pero no lo encuentro  :(

El método era similar. Me cachis a ver si lo encuentro
#479
Cita de: Eleкtro en 23 Septiembre 2016, 17:45 PM
Una solución programática podría ser identificar el botoncito que quieres eliminar (si, esos iconos del área de notificación son controles de tipo Button) y seguídamente llamar a la función Win32 ShowWindow, CloseWindow o DestroyWindow o tal vez DestroyIcon, usando la parametización adecuada para ocultar y/o cerrar la ventana.

El control que he marcado en la imagen de abajo, es un control de tipo Toolbar, y el nombre de clase de la ventana de ese control es ToolbarWindow32.


El árbol de nombres de clases empezando por la ventana padre (la barra de tareas) es la siguiente:

  • Shell_TrayWnd
  •    TrayNotifyWnd
  •        SysPager
  •            ToolbarWindow32

El problema, es que los botoncitos/iconos de adentro parecen inaccesibles hasta donde probé, no se pueden enumerar con la función Win32 EnumChildWindows ni tampoco se le puede hacer un Spy con las herramientas específicas para el análisis de un árbol de controles y jerarquías de ventanas, ni siquiera el framework de Microsoft UI Automation es capaz de identificar esos botoncitos/iconos dentro del área roja, la única forma que encontré para identificar esos botoncitos/iconos fue utilizando la herramienta Visual UI Automation de la SDK de Windows, pero esos controles ni siquiera exponen un handle de ventana ni ningún otro tipo de identificador que pudiera servirnos para automatizar la tarea.

Si examinamos los mensajes de controles disponibles para un control Win32 de tipo Toolbar, no parece haber nada que nos permita eliminar un botón específico:
...o al menos, en un principio a mi me parece que no, pero voy a hecharle un ojo detenidamente a ver si logro encontrar algún mensaje que nos sirva.

EDITO: En teoría le podemos enviar el mensaje TB_BUTTONCOUNT al control para obtener la cantidad de botones, y de esta manera luego podemos hacer un búcle para enviarle el mensaje TB_GETBUTTON con el índice de cada botón para obtener informacion de cada botón, y así identificar el botón que se quiere ocultar o eliminar.
El problema es que en mi Windows 10 no funciona, a pesar de haber utilizado las estructuras definidas por Microsoft: http://referencesource.microsoft.com/#UIAutomationClientsideProviders/MS/Internal/AutomationProxies/CommonXSendMessage.cs,d6764b5a08c7e1e8,references se me refresca el escritorio al enviar el mensaje TB_GETBUTTON incluso pasándole un valor nulo al parámetro lParam de dicho mensaje, no hay manera de que devuelva la información de un botón, jeje, seguiré investigando a ver...

Saludos!

Como dije modificando el código fuente del programa (que yo he llamado código binario en la anterior respuesta) con un simple editor Hexadecimal.  Solo hay que saber que tocar  :silbar:



Acabo de recordar que yo tenía algo de eso mediante programación. Había que usar el handle de la aplicación y enviar un mensaje. A ver si lo encuentro....
#480
.NET (C#, VB.NET, ASP) / Re: Listar ficheros
24 Septiembre 2016, 13:25 PM
@Elektro he hecho lo que me has dicho.

Código (vbnet) [Seleccionar]
Dim strFiles As IEnumerable = Directory.EnumerateFiles(strDrive & strFolder, "*", SearchOption.AllDirectories)

No he notado mucho la diferencia, pero supongo que algo hará. De todos modos es bueno conocer otras maneras. Cuando respondí, lo que hice en un principio fue probar el código  de @Tomas1982  y vi que no andaba bien y empecé a investigar, pero no  había hecho nunca con Net un buscador de archivos. Busqué en MSDN y ponían el Get.. y eso hice  :P Se ve la evolución en mi respuesta XD

Igualito que en VB, madre mía, no había que escribir ni nada para hacer eso. Pero molaba porque tenías que pensar y te daba ese gusanillo mental que cuando lo conseguías era como si te tocara la lotería.  Net es engorroso porque todo se basa en miembros y clases. Conocerlos todos, si es posible, es tedioso y fastidia cuando haces algo de diez líneas y luego descubres que hay una clase que te hace lo mismo en una. Otra cosa que fastidia son las actualizaciones y los métodos obsoletos. Que en la 2005 o 2010 se podían usar y luego en 2015 ya no, o al revés. Que palo.