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 - Eleкtro

#571
Cita de: Eleкtro (sin pilas) en 12 Diciembre 2017, 19:48 PMpara poder enviar e-mails por GMail de forma programática, primero tienes que permitir el uso de aplicaciones de terceros, puedes hacerlo desde aquí:
#572
Foro Libre / Re: ¿Remedio gatuno?
12 Enero 2019, 03:17 AM
Cita de: Machacador en 12 Enero 2019, 02:27 AMponle algodones impregnados de amoniaco... si eso no funciona, usa entonces tu fuerza de voluntad y mantén la gata fuera de la habitación...

Mañana lo probaré y diré si ha funcionado. Te lo agradezco.




Cita de: El_Andaluz en 12 Enero 2019, 02:29 AMsi lo que tienes es una gata mejor castrarla para evitar que te venga con gatitos y te aseguro que son mínimo 5  las crías de hay para arriba.

No creo tener la capacidad, deber ni responsabilidad de tomar una decisión como esa. No sabemos cual es el sentido u objetivo de la vida, quizás ni siquiera exista un objetivo o misión y el sentido de la vida simplemente sea vivirla, pero por lo poco que sabemos un posible objetivo podría ser procrear, y yo no voy a ser el culpable de que esa gatita no pueda tener descendencia gatuna...

Lo siento por el momento filosófico indignado, pero creo que ya me conoces un poco... estas cosas me tocan la moral y tengo que sacarle punta cuando me sugieren hacer algo así. xD no estoy enfadado ni molesto ni nada, gracias por tus consejos.
#573
Foro Libre / Re: ¿Remedio gatuno?
12 Enero 2019, 01:59 AM
Lo del vinagre no me ha funcionado, ni con vinagre de manzana, ni vinagre de vino. Pongo un plato muy cerca de la torre, pero la gata simplemente pasa por al lado del plato, se salta el obstáculo, vaya. Y puse un buen chorro, que olía toda la habitación entera. :(




@Guarrino

Cita de: Guarrino en 11 Enero 2019, 23:01 PMEllos les divierte que tú te enfades o le des un par de revolcones, simplemente porque le estás dedicando dedicando tiempo.

Coincido con lo que dices por que esa es la sensación que tengo. No me parece muy normal que despues de haberle dedicado a la gata de forma suave y cariñosa un par de "Shhhht... quieta, no hagas eso." y luego otros tantos de "¡BAJA DE AHÍ, COJONES!" ya no tan suavemente, y coger a la gata y ponerla fuera de la habitación, a los 10 segundos vuelve a ir a posarse al mismo sitio (la torre del PC) sabiendo que le espera volver a pasar por lo mismo de hace 10 segundos. Yo creo que eso la entretiene y se divierte de algún modo macabro y misterioso que yo como humano y ser inferior a ella no logro comprender. xD

...

Si cojo una bandeja de comida, un plato (vacío o no) y una cuchara y me siento en una mesa o el sofá y dejo que ella se suba a mi lado, en cuanto ella ve como se balancea esa cuchara le dará un zarpazo en plan para cogerla o jugar o algo, y yo le daré el primer aviso con un "Shhhhht", pero ella lo volverá a intentar, así que se llevará el segundo aviso con un "SHHHHHHHHHHHHHT!!" y una palmada en el lomo pero sin fuerza alguna, un toquecito, vaya, pero ella seguirá insistiendo y al final se lleva el tercer y último aviso con un "¡¡QUE NO TOQUES ESTO, HOSTIA!!" y una palmada ahora si con algo más de fuerza con lo que consigo asustarla y que se vaya por patas. Es efectivo al momento por que la gata ya no se vuelve a subir más... pero solo durante esa comida. A la comida o al día siguiente volverá a hacer lo mismo hasta que le de ese tercer y último aviso... si no fuera por eso, y aun asi lo sigue haciendo cada día.

Logicamente antes de llegar a la "solución" de la advertencia verbal y física, he considerado la opción de dejarla toquetear la cuchara, tenedor o lo que sea a ver si llega el momento en el que para, pero no, no parará hasta que consiga tirarlo al suelo, y parece que solo lo hace por que le divierte ver como caen cosas al suelo... por que luego no le hace ni caso a ese objeto que ha caido, y si puede seguirá probando a coger/tirar más cosas, como un vaso, o el plato con la comida.

Por lo tanto me parece muy cierto que solo aprenden a golpes (aunque suene mal dicho así), pero tampoco parece ser un método duradero, o quizás soy yo que por no querer hacerle daño le doy sin la suficiente fuerza y a ella como que no le molesta tanto el golpe como para dejar de incordiar siempre mientras estoy comiendo. Cabe destacar que esto solo lo hace conmigo, con mi comida, mi plato, mi cuchara. Me tiene manía o algo. xD




@crazykenny

Cita de: crazykenny en 11 Enero 2019, 22:29 PMY, bueno, por mi parte ha sido tener paciencia para cogerlo en brazos y apartarlo del ordenador hasta que dejo de hacerlo.

Lo he intentado muchas veces. Si la cojo en brazos mientras estoy sentado en el PC, puede pasar una de estas cosas:

A) - La pongo encima de mis piernas y ahí se queda quieta y se acomoda hasta que al rato se queda dormida (o lo parece). El problema de esto es que a mi me imposibilita el poder usar el teclado, y como soy un buenazo pues me pongo a hacer cosas que no necesiten de teclado y la dejo descansar durante 20 o 30 min. hasta que literálmente ya no puedo más por entumedecimiento de piernas o por que tengo que hacer algo que requiere de teclado y entonces tengo que despertarla y bajarla de ahí. Despues de haberla bajado casi siempre se repite el búcle... ella vuelve a dar por culo.

B) - Salta hasta el escritorio y se pone a tocar todo, bolígrafos, papeles, pendrives, cables, el móvil, etc., en esta situación me toca estar muy pendiente para controlar lo que hace la gata en todo momento, más que nada para impedir que toque ciertas cosas peligrosas o que directamente salte a la torre del PC.

C) - Salta al suelo, se pone a dar vueltas por todos los rincones de la habitación hasta que se decide por meterse en el rincón de los cables, o en la pared desde donde salta hasta la torre del PC, y de ahí al escritorio.

D) - Paso de todo y me pongo a jugar un rato con ella con la esperanza de que despues de acabar ella se ponga a dormir y me deje trabajar/entretenerme tranquilo en el PC. A veces funciona, pocas veces.

Así que cogerla en brazos no es una solución. Yo lo que necesito es un SEDANTE, pero de los que se le dan a los caballos, por que esta gata es incansable.




@bettu

Cita de: bettu en 11 Enero 2019, 22:45 PMLo que sí suelo hacer es hacer una palmada fuerte (no al gato) o un 'SHHT' cuando no quiero que haga algo, porque él ya sabe que lo que está haciendo no lo debe hacer y está mal hecho.

Si es que eso es lo primero que empecé a hacer, golpes en la mesa y sonidos tipo "Shhhhhht". No me funciona.




@El_Andaluz

Cita de: El_Andaluz en 12 Enero 2019, 01:30 AM
Eleкtro (sin pilas)
No te de tanto igual que el puñetero gato se suba por tu ordenador de mesa o te tire de los cables del tu PC, el gato le encanta los cables y tirar de ellos dado con son muy curiosos y le encanta arañar muebles de madera para afilarse las uñas y si tienes sillones ni te cuento lo que hace con ellos lo arañan todo, te lo digo por experiencia que he llegado a tener por culpa de mi madre un viaje de gatos en mi casa crías y no crías y unos de ellos me tiro del cable de mi portátil y me lo estampo contra el suelo me partió la pantalla de portátil y la bromita me salio 120 euros arreglar la pantalla del portátil, con el tiempo se jodió también el disco duro debido al golpe contra el suelo, osea que la broma salio cara.

Mi consejo contra mas lejos lo tengas de tu PC mejor si hace falta cierra la puerta cada vez que salgas de tu cuarto si es que hay lo tienes tu PC.

Lo bueno que tiene los gatos que son muy limpios suelen hacer sus necesidades desde bien chico en su arenero si no tiene arenero no te preocupes que ellos buscan tus macetas y hacen sus necesidades allí o arriates. :xD

Pues ya siento mucho que te haya pasado eso, recuerdo alguna duda que tuviste en el foro con una pantalla de PC, no recuerdo si era por lo del gato.

Anécdotas como esa me da miedo que me pasen a mi. Le das un hogar a un animal que lo más probable habría muerto del frío Invierno en la calle, y como recompensa obtienes una cita con tu técnico informático más cercano para intentar salvar los restos de un PC de 1.000 euros que se te ha frito. Si es que me lo veo venir...

...y luego dirán que eso del Karma es real.

En fin. Saludos!
#574
Foro Libre / Re: ¿Remedio gatuno?
11 Enero 2019, 23:21 PM
@okik y @NEBIRE

Cita de: okik en 11 Enero 2019, 20:22 PMLa solución es tan simple como crear un mini-parque de atracciones para ella.

Cita de: NEBIRE en 11 Enero 2019, 20:24 PMa veces da igual los juguetes que tengan, al final se aburren. Les gusta más el juego interactivo, igual que les pasa a los niños...

Mi gata es callejera (presuntamente). Cuando la acojimos para darle un hogar, lo único que hacia era comer y dormir, esa era su rutina las 24 hrs. del día, pero sobre todo dormir, dormía unas 16-18 hrs. sin exagerar... cada día. Al pasar 2 semanas se empezó a acostumbrar a este hogar y a nosotros, le compré muchos juguetes y empezó a jugar.

Hoy por hoy su rutina es comer, jugar, y dormir, pero sobre todo jugar. Quiere jugar todo el día, y es muy cansina en ese sentido por que para mi desgracia lo que mas le gusta es jugar al "pilla pilla" (si, he dicho al pilla pilla, correr para ir detrás de ella), y no puedo seguir su ritmo por más de 10 minutos seguidos xD. Yo juego mucho con ella, y la gata tiene su variedad de juguetes gatunos con los que juega mucho, pero aunque tuviese 100 juguetes no parecen ser suficientes, siempre parece aburrirse y prefefir jugar de forma "interactiva"...

Incluso tiene un pez de peluche de 27 cm relleno de catnip (hierba gatuna), pero al final del día me hace más caso a mi, que a todos los juguetes juntos.

Cita de: NEBIRE en 11 Enero 2019, 20:24 PMPara los cables, lo que yo hago siempre que tengo un gato 'nuevo' es coger un poco de pimentón picante, sobre una servilleta de papel, froto los cables varias veces... y dejo que se acerquen, cuando lo prueban 2, 3 veces... dejan ya de insistir, mas aún si de nuevo ves que se acercan, coges e papel (con los resto del pimentón en polvo), se lo enseñas y sa va ligero... Al final pierte interés por los cables... cuestión a lo sumo de 2-3 días.

Sin duda eso es algo que debo probar. Gracias.




@simorg

Cita de: simorg en 11 Enero 2019, 19:25 PMla forma de que no se acerque el gato al lugar que no quieres es poner allí un platito con vinagre....no temas, no se lo beberá, pero ese olor no les gusta a los gatos y suelen no acercarse al lugar donde lo pongas.

Dices que no me preocupe por que la gata se lo beba... ¡a mi lo que me preocupa es que eso se derrame!. xD

No me convence la idea de poner un plato lleno de vinagre encima del PC. Tendría que poner una toalla debajo o algo, y rezar para que ese truco funcione con todos los gatos... y que perdure el efecto.

Lo probaré, aunque no se si encima del PC, o cerca del mismo. Gracias.




@r32

Cita de: r32 en 11 Enero 2019, 19:12 PMSolo te puedo aconsejar que tengas paciencia y que le enseñes lo que no te gusta que ella haga, hay que educarlos como si de un niño se tratara.

Claro eso es facil decirlo, otra cosa es saber realmente como poder enseñarle al gato lo que no te gusta que haga, y luego de habérselo enseñado esperar que te respete en eso y no se lo pase por el orto gatuno... :P




@warcry.

Cita de: warcry. en 11 Enero 2019, 19:17 PMEl principal método para educar a un animal, es el reflejo condicionado, puedes leer sobre el perro de pavlov.

Lamentablemente he visto varios experimentos científicos parecidos y son todos horrendos por que le crean traumas al animal con estímulos dolorosos. También hubo un experimento de ese estilo con un bebé humano al que le daban animales, que acabó traumatizado de adulto y posteriormente prohibieron esas prácticas con niños. Como ya digo, horroroso.

Cita de: warcry. en 11 Enero 2019, 19:17 PMlo que pasa es de la manera que ves la vida los métodos de aprendizaje que utilizo no serian de tu agrado

No se como consideras que yo veo la vida, para mi la vida es felicidad y dolor, del mismo modo que la naturaleza es bella y cruel y quien diga lo contrario es un ignorante, la vida es lo beneficioso y lo perjudicial o el sentido de lo bueno y lo malo al mismo tiempo, o Dios y Satán para los que sean creyentes. Por ese motivo, mientras que por un lado eso que comentas dudo que se le pueda llamar método "principal" por que eso no está aceptado por la sociedad ni lo estará jamás, pero por otro lado hay que ser realista y reconocer que ese debe ser el método más efectivo, y por ello habría que tener dicho método en consideración, eso sí, solo como última opción. Hay que reconocerlo aunque duela, por que es una ciencia demostrada, pero como comprenderás yo busco alternativas para no crearle un trauma al pobre animal.

Logicamente si me propones algo a la altura de matar catalanes independentistas como en cierto post xD, voy a rechazar la idea por que el fin no justifica los medios, como con los experimentos aquellos... pero estoy abierto de mente a otras propuestas que no rebasen el límite de mi moral.

Cita de: warcry. en 11 Enero 2019, 19:17 PMSolución cogí a la gata de la nuca, la lleve hasta la jaula, le restregué el hocico contra los barrotes varias veces y la solté.

a partir de ahí la gata nunca se volvió a acercar a una jaula, y pude volver a tener canarios de nuevo.

Espero que ese no sea el método de aprendizaje tan aparentemente inmoral al que te referías, por que me habrías decepcionado un poco xD. A mi todo el mundo me recomendó hacer eso pero con los mojones que la gata soltaba por la casa... y al final como no vi más remedio lo hice, no la tuve que coger de la nuca pero si le restregué el hozico en el sitio donde soltaba el mojón, hasta que un día empezó a hacerlo en su arenero y ya no ha vuelto a depositar sus lindas y pequeñas bolas de mierd@ fuera de él. Solo lo tuve que hacer 2 veces.

...

Te contaré una pequeña anécdota. Desde el primer día me interesé por mejorar su salud, así que me puse a preguntar a conocidos y también a buscar consejos por Google, artículos de blogs de animales y esas cosas, entonces, pobre de mi acabé leyendo por Internet que a los gatos habría que lavarlos al menos una vez al mes, y como yo nunca había tenido gatos pues le di confianza a esa recomendación. Se que a los gatos no les gusta mojarse, pero al fin y al cabo es agua, no debe ser tan malo para ellos, eso pensé yo. Vi a gente hacerlo en muchos videos de Youtube, daban consejos de como hacerlo y tal, así que me animé a intentarlo. Tenía pensado lavarla al menos 1 vez al mes como recomendaban, para estar limpia y sana, eso decían...

Fue la peor idea que he tenido en mi vida. Puse a la gata en la ducha con el agua saliendo a chorros por la piña/grifo, y yo iba a pecho descubierto para no mojarme, pues la gata me empezó a arañar todo el cuerpo, no para hacerme daño sino para intentar saltar y salir de ahí, yo era un obstáculo en su camino, vaya xD. En una de esas consiguió subirse encima mio, y ancló sus uñas en mi nuca. Las uñas de la gata estaban más duras que el martillo de Thor. Yo intentaba quitármela de encima pero mis esfuerzos eran en vano, por unos momentos me sentí como esos héroes medievales que intentaban sacar la espada del Rey Arturo de una roca... ya puedes intentar sacarla, que no saldrá de ahí.

Creo que fue una experiencia bastante traumática para la gata, pues desde aquél día no a vuelto a entrar en el baño, y cuando ve abrirse la puerta del baño, entrar o salir a alguien de allí, sistematicamente la gata sale huyendo a esconderse como si no hubiese un mañana. Pobrecita, y yo que estúpido fui... cometí un error que fue perjudicial para la gata y solo conseguí empeorar (no por muchos días) la relación entre gato y humano.

Lo peor de todo es que al final resultó ser más traumático para mi, pues aparte de acabar hecho mierd@ con unos arañazos sangrientos y profundos por todo el pecho, los brazos y la nuca, con heridas que dejarían en evidencia las capacidades del mismísimo Freddy Kruegger, tambien acabé temiendo por mi vida, ya que cierto veterinario que quiso meterme más miedo del necesario me recordó la posibilidad de poder contraer el Tétanos por esos arañazos (yo no estaba vacunado cuando eso sucedió), y me acojoné mucho, vaya que si lo hice... pero él sabe que le agradezco sus consejos y ayuda, jeje.

En resumen, niños, no bañeis nunca a un gato callejero si apreciais vuestra vida, ni a uno doméstico que no haya sido acostumbrado desde pequeño. Pero si al final lo haceis, recomiendo ponerse una sudadera con un chaleco de Kevlar y protección en los ojos, o eso, o convencer a tu suegra para que lo haga por ti. Y no ser tan estúpidos como yo, llenad un cubo de agua y usad un paño, el ruido del agua cayendo de la ducha es peor, les hace entrar en situación de pánico.




En general gracias por la ayuda a todos los que comentaron.
#575
Foro Libre / ¿Remedio gatuno?
11 Enero 2019, 18:54 PM
Hola. Es la primera vez que convivo con un gato, mejor dicho una gata, y digo convivo por que no me considero su dueño, propietario o amo, sino su compañero. Así es como deberían sentirse todos los humanos que tengan mascotas...

Bueno, que me lio. El caso es que siempre que estoy ocupado en el PC, la jodía gata intenta subirse de un salto a la torre, o al escritorio, o a la silla (conmigo sentado, le da igual xD), o se pone a intentar morder los cables del PC, o peor todavía... se pone a jugar con los cables de la regleta y el botón de encendido, lo que parece ser muy peligroso para ella.

El problema es que me toca mucho los cojones que se suba, de hecho justo mientras escribía esta frase la gata se ha subido y ha empezado a "manipular" el teclado para intentar boicotearme este mensaje.

En realidad me da igual que se suba al escritorio o a mis piernas, lo que no puedo tolerar es que se suba a la torre del PC, por que lo puede volcar (el PC está en una base móvil con ruedas), y por supuesto jugar con los cables es un peligro también. A veces cuando se sube al PC, se engancha con la rejilla frontal que tiene y hace piruetas para "escalar", es muy facil que algún dia tire el PC al suelo y se joda por completo...

Me gustaría saber si ustedes los que también convivan con gatos conocen algún "truco" para evitar que a la gata se le quiten las ganas de subir al PC, y a ser posible también se le quiten las ganas de jugar con los cables. Todo esto solo lo hace cuando yo estoy presente y sentado en la silla del escritorio del PC, supongo que lo hace para llamar la atención exigiendo que jueguen con ella, no se realmente.

La gata es muy insistente, yo he intentado apartarla (bajarla del PC), gritarle en plan enfadado para que se asuste y se vaya a hacer otra cosa, e incluso le he llegado a pegar una palmadita en el muslo como hacen los padres a veces con sus hijos (logicamente no hablo de maltrato animal, una palmada sin hacerle daño, pero que sienta el golpe para intentar que se de cuenta de que eso que hace me desagrada), pero ella a los 10 segundos lo vuelve a intentar, y así sucesivamente hasta que al final cesa, si, pero cuando ella cesa yo ya estoy cansado y estresado y muy hasta las pelotas de tener que hacer de todo para que no se suba ahí... y esto es cada día. Además soy fumador, y me preocupa que la gata inhale el humo, en el resto de la casa hay mucho espacio y no pasa nada pero en el escritorio tengo un cenizero y pues ella se sube directamente ahí...

La solución más sencilla para mi es cerrar la puerta de la estancia donde estoy sentado en el PC, y dejar a la gata fuera, pero eso me hace sentir triste por el animal, y ella se queda arañando la puerta para que la deje entrar por que quiere estar conmigo (aunque ella solo me vea como su mascota, jeje). Necesito una solución distinta por que para mi sentimiento de culpabilidad por dejarla fuera... es peor el remedio que la enfermedad en este sentido.

Necesito una ayuda, algún truco o consejo, no se lo que necesito la verdad...

Hace años tuve 2 perros, y nunca me dieron problemas parecidos... aparte de morder muebles xD, pero subirse a ellos y dar por culo en el PC, no.

Un saludo.
#576
Cita de: rigorvzla en  9 Enero 2019, 23:50 PMdisculpo lo del codigo solo que hay cosas que aun se me dificultan de leer (codigo) para pasar a C#

No hay nada que disculpar, supongo que es comprensible, yo te lo puse en VB.NET esperando que pusieras de tu parte y lo convirtieses a C# por que no me gusta darlo todo hecho y regalado, pero claro, tampoco estás obligado a convertir nada. xD

Saludos.
#577
Hardware / Re: Duda sobre fuente DC
9 Enero 2019, 23:43 PM
Muchas gracias a ambos. :)

Y Simorg, da gusto volver a verte por el foro.

Saludos
#578
Cita de: rigorvzla en  9 Enero 2019, 13:16 PMstatic extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);

La firma de esa función debe ser portable, como en el ejemplo que te mostré. Me pregunto por que en lugar de convertir (usando cualquier convertidor de código online) y copiar el código que te mostré, copiaste un código aleatorio de Internet...

Simplemente reemplaza el valor int de los parámetros lParam y wParam, por IntPtr, tal que así:

Código (csharp) [Seleccionar]
internal sealed class NativeMethods {

private NativeMethods() {}

[DllImport("User32.dll", SetLastError=true)]
[return: MarshalAs(UnmanagedType.Bool)]
internal extern static bool PostMessage([MarshalAs(UnmanagedType.SysInt)] IntPtr hWnd,
                                       [MarshalAs(UnmanagedType.U4)] uint msg,
                                       [MarshalAs(UnmanagedType.SysInt)] IntPtr wParam,
                                       [MarshalAs(UnmanagedType.SysInt)] IntPtr lParam);

}





Cita de: rigorvzla en  9 Enero 2019, 13:16 PMprobe con solo el down y hay aplicaciones que deja la tecla marcada y no la suelta, cuando puse el up , walla!! asunto resuelto

Los nombres de los mensajes de ventana son auto-descriptivos, WM_KEYDOWN = presionar tecla, WM_KEYUP = soltar tecla. Logicamente hasta que no envies el mensaje WM_KEYUP, la tecla seguirá virtuálmente presionada.




Cita de: rigorvzla en  9 Enero 2019, 13:16 PMme gustaria saber si puedo solo mostrar unasola pulsasion de letra "a" .

Primero debes enviar el mensaje WM_KEYDOWN para presionar la tecla, y luego WM_KEYUP para soltarla. Así es como funciona, no le busques atajos.




Cita de: rigorvzla en  9 Enero 2019, 13:16 PMbusque hacer combinaciones como "ctrl + 1" y se volvia loco

En teoría no se puede simular la pulsación de modificadores de tecla o teclas extendidas mediante SendMessgae / PostMessage. Me apoyo en la opinión de gurús de la programación y de .NET como el señor Hans Passant: https://stackoverflow.com/a/5145435/1248295.

Aunque en realidad si que hay formas de hacerlo con PostMessage, pero para casos específicos en los que sabes exactamente que parámetros (lParam y wParam) debes enviar despues de haber analizado a fondo como se envían los mensajes de ventana en la aplicación.

En fin. Para simular la pulsación de teclas "especiales" como ALT, CONTROL o SHIFT izquierdo y derecho, siempre puedes utilizar la función keybd_event para modificar el estado de una tecla (estado presionado, o no presionado) de forma global, pues no se puede modificar el estado de dichas teclas solamente para una ventana en específico...

Al código que ya tienes, le añadirías esto:

Código (csharp) [Seleccionar]
[DllImport("user32.dll", EntryPoint="keybd_event", SetLastError=true)]
internal extern static void KeybdEvent([MarshalAs(UnmanagedType.U1)] byte vkey,
                                      [MarshalAs(UnmanagedType.U1)] byte scanCode,
                                      [MarshalAs(UnmanagedType.U4)] KeybdEventFlags flags,
                                      [MarshalAs(UnmanagedType.SysUInt)] UIntPtr extraInfo);

[DllImport("user32.dll", SetLastError=true)]
[return: MarshalAs(UnmanagedType.U4)]
internal extern static uint MapVirtualKey([MarshalAs(UnmanagedType.U4)] uint code,
                                         [MarshalAs(UnmanagedType.U4)] MapVirtualKeyMapTypes mapType);

...

Código (csharp) [Seleccionar]
[Flags]
internal enum KeybdEventFlags: uint {
NonExtendedKey = 0x0,
ExtendedKey = 0x1,
KeyUp = 0x2
}

internal enum MapVirtualKeyMapTypes: uint {
VKeyToScanCode = 0x0,
ScanCodeToVkey = 0x1,
VKeyToChar = 0x2,
ScanCodeToVKeyExtended = 0x3,
VKeyToScanCodeExtended = 0x4
}

...

Entonces, así puedes hacer para presionar por ejemplo la combinación de teclas CONTROL+S a una ventana no activa, en este ejemplo Notepad:

Código (csharp) [Seleccionar]
Dim hWnd As IntPtr = Process.GetProcessesByName("notepad").Single().MainWindowHandle

Dim modKey As Byte = CByte(Keys.LControlKey)
Dim scanCode As Byte = CByte(NativeMethods.MapVirtualKey(modKey, MapVirtualKeyMapTypes.VKeyToScanCode))

' Presionar modificador de tecla
NativeMethods.KeybdEvent(modKey, scanCode, KeybdEventFlags.NonExtendedKey, UIntPtr.Zero)

' Presionar la tecla "S"
SendKeyPress(hWnd, Keys.S)
Thread.Sleep(100) ' Intervalo necesario ya que PostMessage es asincrónico.

' Soltar modificador de tecla
NativeMethods.KeybdEvent(modKey, scanCode, KeybdEventFlags.NonExtendedKey Or KeybdEventFlags.KeyUp, UIntPtr.Zero)





Citar
Código (csharp) [Seleccionar]
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, tecla1, 0);
PostMessage(proc.MainWindowHandle, WM_KEYDOWN, tecla2, 0);
PostMessage(proc.MainWindowHandle, WM_KEYUP, tecla2, 0);
PostMessage(proc.MainWindowHandle, WM_KEYUP, tecla1, 0);

Eso estaría bien siempre y cuando 'tecla1' o 'tecla2' no sean modificadores de tecla (CTRL, ALT, SHIFT), y además siempre que entre llamada y llamada añadas un intervalo de espera de digamos 100 ms para evitar una posible desincronización de los eventos del teclado, pues como ya dije más arriba PostMessage es una función asincrónica.

Saludos.
#579
Hardware / Duda sobre fuente DC
9 Enero 2019, 14:42 PM
Hola.

El caso es que hace tiempo me compré esta cosa:

 

...pero el cable DC (creo que se llama así) se me perdió.

Y yo recuerdo que el cable era más o menos como este:



(se conecta el cable que falta ahí, a la regleta)

pero cuando me dispuse a buscar este tipo de cable en Amazon, descubrí que hay cables USB para conectarlo al PC por ejemplo, los cuales son mucho más pequeños y ligeros (al no tener la fuente esa) y también más baratos. Son así:



Mi pregunta es, ¿puedo conectar el cable DC-USB al PC sin que haya riesgo / problemas de algún tipo energético?. Es que como el otro tipo de cable tiene incorporada una fuente de alimentación (que pesa lo suyo, por cierto) pues no se si a lo mejor un cable USB de esos va a cumplir de la misma manera simplemente por conectarlo al PC y esperar que la fuente de alimentación del PC haga su trabajo, Supongo que es una pregunta tonta, por que con otros aparatos es obvio que se puede conectar al PC y no pasa nada, pero no se si vale conectarlo por USB para reemplazar ese tipo de cable con fuente de alimentación, y además el producto venia con un cable de esos con fuente de alimentación, no con uno USB (que sería más barato fabricarlo), así que me crea muchas dudas. Por cierto, la fuente de alimentación de mi PC es de 750W, aunque en realidad supongo que rondará los 720W o menos ya que han pasado 2 años de uso.

Gracias por adelantado.
#580
A mi no me aparece ningún BSOD. He probado el programa compilando en modo Debug y Release, terminando el programa de forma normal, terminando de forma abrupta (usando el botón detener en VS), y cerrando Visual Studio. Cero pantallazos azules.

Según un comentario en el siguiente hilo, el cual casualmente es de un usuario que usa Windows 7 como tú, dicen que tras haber visualizado la información de depuración del volcado de memoria del BSOD, han llegado a la conclusión de que se trata de un bug de ese sistema operativo Windows 7...


Cita de: Andre.ZieglerI've previously posted the dumps etc. to another forum here is the link. We came to the conclusion it was a bug in Windows, not the network driver? (considered "solved" of sorts :) See the OSVDB link in the post..

http://www.techsupportforum.com/forums/f217/solved-tcpip-sys-bsod-issue-530767.html

De todas formas en la documentación de Microsoft explican que se trata de un fallo por parte de algún driver instalado en el sistema (un driver de dispositivos de red, supongo, o quizás incluso pueda ser culpa de algún driver o servicio en segundo plano de algún antivirus que puedas tener en ejecución mientras haces ping), y que ocurre cuando el driver no puede liberar páginas (páginas de memoria) bloqueadas despues de una operación de entrata y salida o input/output (I/O), es decir, de una operación de escritura y lectura de las páginas bloqueadas...


Hay te explican además una posible solución.

En caso de que no sea culpa de tu antivirus, yo te propongo otra posible solución: espera a que la operación de ping finalice antes de cerrar completamente el programa.

He revisado tu código y hay varias cosas imperfectas, desde el modo en el que posicionas el Form en la esquina de la barra de tareas mediante un búcle Do While (cuando lo puedes hacer con una simple operación matemática), hasta la implementación del BackgroundWorker que tira excepciones del tipo InvalidOperationException por intentar acceder a un control desde otro thread distinto desde el que fue creado. En fin, le hice algunas modificaciones y ha quedado de la siguiente manera; pruébalo a ver si con suerte te soluciona el problema en tu PC...

Código (vbnet) [Seleccionar]
Imports System.ComponentModel
Imports System.Threading

Public NotInheritable Class Form1

    Private ReadOnly Property HostNameOrAddress As String
        Get
            Return Me.TextBox2?.Text
        End Get
    End Property

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        Dim scr As Screen = Screen.FromHandle(Me.Handle)
        Me.Location = New Point((scr.WorkingArea.Right - Me.Size.Width), (scr.WorkingArea.Bottom - Me.Size.Height))

        With Me.BackgroundWorker1
            .WorkerReportsProgress = True
            .WorkerSupportsCancellation = True

            .RunWorkerAsync()
        End With
    End Sub

    Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        Dim bgw As BackgroundWorker = DirectCast(sender, BackgroundWorker)

        Do Until bgw.CancellationPending
            Dim elapsed As Double = Me.MedidorPing(Me.HostNameOrAddress, TimeSpan.FromSeconds(5))
            Dim userState As String
            If (elapsed.Equals(Double.NaN)) Then
                userState = "Ping request timed out."
            Else
                userState = String.Format("{0:F0} ms", elapsed)
            End If

            bgw.ReportProgress(Nothing, userState)
        Loop
        bgw.ReportProgress(100, Nothing)
    End Sub

    Sub BackgroundWorker1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
        Me.TextBox3.Text = CStr(e.UserState)
    End Sub

    Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        Me.Close()
    End Sub

    Private Sub HexCheckBox1_CheckedChanged(ByVal sender As Object) Handles HexCheckBox1.CheckedChanged
        Me.TopMost = Me.HexCheckBox1.Checked
    End Sub

    Private Sub HexButton1_Click(sender As Object, e As EventArgs) Handles HexButton1.Click
        DirectCast(sender, HexButton).Enabled = False

        If (Me.BackgroundWorker1.IsBusy) Then
            Me.BackgroundWorker1.CancelAsync()

            Do While Me.BackgroundWorker1.IsBusy
                Application.DoEvents()
                Thread.Sleep(TimeSpan.FromMilliseconds(100))
            Loop
        End If
    End Sub

    Private Function MedidorPing(ByVal hostNameOrAddress As String, timeout As TimeSpan) As Double

        If String.IsNullOrEmpty(hostNameOrAddress) Then
            Return Double.NaN
        End If

        If Not My.Computer.Network.IsAvailable() Then
            Return Double.NaN
        End If

        Dim sw As New Stopwatch()
        Try
            sw.Start()
            My.Computer.Network.Ping(hostNameOrAddress, CInt(timeout.TotalMilliseconds))
            sw.Stop()
            Return sw.Elapsed.TotalMilliseconds

        Catch ex As Exception ' ArgumentNullException, InvalidOperationException, PingException or SocketException
            Return Double.NaN

        End Try

    End Function

End Class