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


 


Tema destacado: [Encuesta] ¿Qué editor de código utilizas? (2014)    


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 435
1  Programación / .NET / Re: [C#] Bloquear acceso a un archivo. en: Hoy a las 19:26
Establecer una contraseña para impedir la ejecución de un archivo, y bloquear el acceso a un archivo son dos cosas muy distintas y cada una implca un enfoque muy diferente, ya que windows security no se maneja con Passwords sino con entidades de seguridad, así que deberías aclarar bien lo que pretendes hacer para entendernos, ¿establecer una contraseña a un exe, o eliminar los permisos de lectura para un exe?.

El método FileStream.Lock, como su nombre indica solo sirve para prevenir que otros procesos lean o escriban en el Stream que previamente hayas abierto para su lectura/escritura, este efecto se desvanece cuando temina la ejecución del proceso que utilizó dicho método 'Lock' (incluso aunque mates la aplicación de forma forzosa, ese bloqueo no persistirá).

Su uso es muy sencillo, pero si tu intención es proteger un archivo con contraseña entonces obviamente esta no es la manera:
Código
  1. Dim fs As New FileStream("file.exe", FileMode.Open, FileAccess.ReadWrite, FileShare.None)
  2. fs.Lock(0, fs.Length)

Prevents other processes from reading from or writing to the FileStream.

Para proteger un archivo con contraseña, puedes cifrar el archivo original, y a partir de este punto puedes dejar volar la imaginación, ya que hay varias maneras de implementar el decrypter, por ejemplo registrar un servicio+shellExtension que maneje la cifrado/desencriptación, crear una aplicación aparte dedicada a descifrar archivos, o adjuntar el propio decrypter en el Stream del archivo que previamente haya sido cifrado, dando así como resultado un archivo cifrado y auto-desencriptable por si mismo, puedes ver un ejemplo de esto último aquí: http://www.codeproject.com/Articles/696528/Csharp-Password-Protected-File (debes especificar correctamente el tamaño que se debe omitir al escribir el stream del archivo descifrado)

Saludos
2  Sistemas Operativos / Windows / Re: RegSvr32 no encuentra un .dll en Windows 8.1 en: Hoy a las 11:39
Empecemos por lo primero de todo, ¿has escrito bien el nombre de la librería?, ya que "LanServices" tiene sentido, pero "LanServies" ninguno.

A no ser que sea un virus (ya que aparentemente no es una dll legítima de Windows) entonces debería pertenecer a alguna aplicación relacionada con una red LAN, como su nombre parece indicar, por si te sirve como pista, aunque supongo que también habrás llegado a esa conclusión por ti solo xD.


Quisiera saber que aplicacion necesita ese modulo en el arranque y ver que sucede.

La aplicación que lanza la excepción es RegSvr32.exe, eso ya te lo está indicando, ahora, ¿que app necesita que esa dll esté registrada en el equipo?, ni idea.


¿Hay alguna forma de saberlo?

Quizás con HiJackThis puedas averiguar algo útil si no dispones ni de la dll ni sabes si el programa que necesita esa dll está instalado y/o se carga junto al inicio de Windows.

El visor de eventos de Windows debería registrar las excepciones del RegSvr32 (siempre que tengas activado el servicio que genera los registros de los eventos/excepciones), y eso te sería más facil de buscar y hallar, aunque me temo que poca información útil de depuración hallarás, ya que no tiene porque ni te va a indicar que programa necesita utilizar esa dll, simplemente especificará el error que has comentado cuando RegSvr32 intenta cargar la dll, con la razón expuesta.

(en este comentario tachado supuse que la aplicación conflictiva también se cargaba al inicio)
con Process Monitor de SysInternals o también con aplicaciones que estén más orientadas a la inspección de problemas con la carga de módulos/dependencias, como por ejemplo Dependency Walker, pero para ello tendrás que verificar programa uno a uno (doy por hecho que ya conocerás las claves de registro en las que puedes ver la lista de los programas que se ejecutan al inicio de Windows, y si no, pregunta)

Saludos!
3  Foros Generales / Foro Libre / Re: Feliz navidad y prospero año nuevo en: Hoy a las 11:26
¡Feliz Halloween!, ¡Feliz San Valentin!, y ya que estamos, por felicitar que no falte, ¡Feliz Navidad a todos!.



Saludos! :)
4  Foros Generales / Foro Libre / Re: Éste es el plan de la NASA para llevarnos a Venus en: Hoy a las 11:12
Por si no lo sabeis, se supone que lo que NASA pretende hacer a largo plazo en Venus (o mejor dicho, quiere hacernos creer) es esto:



( en los Blogs y demás lares lo llaman "ciudad sobre las nubes de Venus", casi nah... )

¿Ya os imaginais lo que habrá dentro de esas naves tan espaciosas, no? ...exacto, personas humanas, viviendo, en las nubes. ( ¿que más dará si se mueren de calor o radiación? )

A mi cada día estos de NASA me recuerdan más a la Iglesia, hasta el punto en que solo necesitan decir que a pocos metros/km de la superficie de Venus es el lugar idóneo para que el ser humano pueda vivir cómoda y relajadamente con un ambiente cálido al más puro estilo Hawayano, ¡el viaje de en sueño!, y eso es suficiente para convencer a todos y darles esas falsas esperanzas que necesitan para encontrar vida ahí fuera (cuando NASA ya conoce de sobra esa vida, y no hay fuera, sino más bien aquí dentro), luego mostrarán unas "pruebas" científicas sobre la temperatura y venga, a fabricar el próximo cuento, vaya, pues si que han ido ganando poder de convicción en nuestras mentes... despertad.

Ahí es donde pretende NASA llevarnos con estas ilusiones, no a Venus, sino a dejarnos pensando en las nubes y en las musarañas, con la boca bien abierta, como bebés esperando que nos llenen la boca con una cucharada bien grande de potito, aunque en esta ocasión no sea un potito lo que nos comemos, sino una mentira bien gorda.

NASA, ¡estafa!

Saludos.
5  Foros Generales / Foro Libre / Re: en: Hoy a las 10:50
Véase que los dioses fueron una explicación fácil que se dió en el pasado a dudas y problemas sin resolver. No hay razón para seguir con eso en estos tiempos. Simplemente no la hay.

Por desgracia no queda nadie vivo de nuestros antepasados prehistóricos y no tan prehistóricos para poder conversar con ellos acerca del nacimiento de esta idea de que exista un Dios, ni poder analizar lo sucedido, o al sujeto y su capacidad mental para así verificar si aquello fue una invención que surgió al mirar una estrella en el cielo (por ejemplo), o fue un producto derivado de un Dios real que sí conocieron en el pasado.

Si algún dia el ser humano inventa y pone en práctica una máquina del tiempo, estoy seguro que lo primero que haría la nefasta Iglesia sería hecharse las manos a la cabeza, e imponer su fuerza y brutalidad y poder de convicción para que surgiesen nuevas leyes que impidiesen los viajes en el tiempo en dirección al pasado, y así nadie podría viajar hasta el momento en el que "surgió" Dios, en ese preciso momento del pasado en el que seguramente comenzó esta mentira con "alguien que dijo...", o "alguien que vió...", para poder conocer la verdad de una vez por todas.

Pero ellos no dejarán que se descubra ni aunque tengamos los medios tecnológicos para hacerlo, un descubrimiento en un viaje hacia el pasado quizás se podría evitar con otro viaje a un tiempo anterior antes de que suceda el primer evento (el descubrimiento de la mentira), es decir, que capaces serían los de la Iglesia de mandar en una máquina de estas a un actor (o un robot, que eso les daría más impresion de algo sobrenatural a nuestros antepasados xD) para que viaje al pasado y se haga pasar por un Dios, capaces serán de todo para que la mayor mentira del hombre continue viva y llenando las sacas de muchos individuos indeseables...

Bueno, no quiero delirar mucho, no viviré lo suficiente como para ver esa comedia trágica y espectacular entre los Papas y viajes en el tiempo, "gracias a Dios" que no viviré esa experiencia.

Saludos...
6  Programación / Scripting / [JS] Encontrar la causa de la fuga de memoria en este Gadget en: Hoy a las 10:04
Hola

A ver si alguien me puede prestar ayuda para encontrar una posible fuga de memoria en este script.

El código lo he sacado de este gadget para windows, y lo que hace es monitorizar el estado de los dispositivos conectados (el espacio libre de almacenamiento):
http://win7gadgets.com/pc-system/sushis_driveinfo.html

Creo que el problema está al dibujar las imágenes, la parte donde maneja los objetos de las imágenes, el cual bajo mi punto de vista parecen ser correctamente liberados en cada operación, aunque mi nivel de javascript es practicamente nulo, me guio por la sintaxis, así que quizás estoy omitiendo algo importante que no consigo ver, de hecho seguramente así espero que sea, ya que el tamaño no deja de incrementarse, si dejas el gadget corriendo 24 horas puede llegar a superar incluso el 1 GB de consumo de RAM, mientras que con otros gadgets del mismo tipo...esto no sucede, así que dudo que sea un problema del sidebar.exe, y no del Gadget.

Es horrible que el desarrollador de este Gadget no se haya dado cuenta de eso en +4 años de desarrollo y actualizaciones (este gadget es una re-version de un gadget anterior y con nombre parecido, del 2009 o 2010), espero que yo pueda hacer algo para arreglarlo, con vuestra ayuda.

sushi_driveinfo.html
Código
  1. <html>
  2.  <head>
  3.    <title>Drive Info</title>
  4.    <style>
  5.      body { margin: 0; padding: 0; width: 156px; height: 200px; background-image: url(images\canvas.png); color: #ffffff; font-family: 'Segoe UI'; }
  6.      #targets { position: absolute; top: 0; left: 0; }
  7.      .target { position: absolute; width: 156px; height: 48; left: 0; cursor: hand; }
  8.    </style>
  9.    <script type="text/javascript">
  10.      var lst = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  11.      var timeout = null;
  12.  var drives = new Array(26);
  13.  var drvchk = new Array(26);
  14.  var drvspc = new Array(26);
  15.  var vizchg = false;
  16.  var current_y = 0;
  17.  var background,theme,remove,local,network,media,show_pc,show_net;
  18.  var item_height=48;
  19.  var icon_offset=20;
  20.  var text_offset=72;
  21.  var meter_offset=24;
  22.  
  23.      function convertBytes(b)
  24.      {
  25.        var i = 0, u = Array(' MB', ' GB', ' TB');
  26.        while (b >= 1024 && (b /= 1024) >= 1) i++;
  27.        return (Math.round(b * 100) / 100) + u[i];
  28.      }
  29.  
  30.      function openDrive()
  31.      {        
  32.        var d = window.event.srcElement.getAttribute('drive');    
  33.        System.Shell.execute(d + ':\\');
  34. return;
  35.      }
  36.  
  37.  function openNetwork()
  38.      {        
  39.        System.Shell.execute("Explorer", "/N,::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}");
  40. return;
  41.      }
  42.  
  43.  function openComputer()
  44.      {        
  45.        System.Shell.execute("Explorer", "/N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
  46. return;
  47.      }
  48.  
  49.      function recheckDrives() {
  50.   for(var i = 0; i < 26; i++)
  51.        {
  52.  if (!drives[i]) {
  53.    drives[i] = System.Shell.drive(lst.charAt(i));
  54. if (drives[i]) { vizchg = true; drvchk[i] = true; }
  55.  } else {
  56.  if (drives[i].isReady != drvchk[i]) { drvchk[i] = !drvchk[i]; vizchg = true; }
  57.  if (drives[i].isReady && drives[i].freeSpace != drvspc[i]) { drvspc[i] = drives[i].freeSpace; vizchg = true; }
  58.  }
  59. }
  60.      }
  61.  
  62.      function calcHeight(h) {
  63.        var y=0;
  64.        if(show_pc==2) y+=h;
  65.        if(show_net==2) y+=h;
  66.        for(var i=0;i<26;i++)
  67.            if(isDriveVisible(i)) y+=h;
  68.        return y;
  69.      }
  70.  
  71.      function isDriveVisible(i) {
  72.        if(drvchk[i]) {
  73.           if      (drives[i].driveType == 2 && remove == 1)  ;
  74.           else if (drives[i].driveType == 3 && local == 1)   ;
  75.           else if (drives[i].driveType == 4 && network == 1) ;
  76.           else if (drives[i].driveType == 5 && media == 1)   ;
  77.           else if (drives[i].driveType == 1 || drives[i].driveType == 6) ;
  78.           else
  79.            return true;
  80.        }
  81.        return false;
  82.      }
  83.  
  84.      function paintPC() {
  85. if (show_pc == 2) {
  86. canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
  87. var di=canvas.addImageObject('images/drives/pc'+ theme +'.png', icon_offset, current_y);
  88.            di.width*=0.8;
  89.    di.height*=0.8;
  90. canvas.addTextObject('Computer', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
  91. var b = document.createElement('DIV');
  92. b.className = 'target';
  93. b.style.posTop = current_y;
  94. b.onclick = openComputer;
  95. targets.appendChild(b);
  96. current_y+=item_height;
  97. }
  98.        return;
  99.      }
  100.  
  101.      function paintNET() {
  102. if (show_net == 2) {
  103. canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
  104. var di=canvas.addImageObject('images/drives/net'+ theme +'.png', icon_offset, current_y);
  105.            di.width*=0.8;
  106.    di.height*=0.8;
  107. canvas.addTextObject('Network', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
  108. var b = document.createElement('DIV');
  109. b.className = 'target';
  110. b.style.posTop = current_y;
  111. b.onclick = openNetwork;
  112. targets.appendChild(b);
  113. current_y+=item_height;
  114. }
  115.        return;
  116.      }
  117.  
  118.      function paintGadget()
  119.      {  
  120.  try {
  121.        recheckDrives();
  122.        if (!vizchg) return;
  123.  
  124. var total_height=calcHeight(item_height);
  125. System.Gadget.beginTransition();
  126.  
  127. document.body.style.height=total_height;
  128. canvas.style.height=total_height;
  129. canvas.removeObjects();
  130. targets.innerHtml = '';
  131.  
  132. current_y = 0;
  133. paintPC();
  134. paintNET();
  135.        for(i = 0; i < 26; i++)
  136.        {
  137.            if(isDriveVisible(i)) {
  138.              if (drives[i].freeSpace != 0) {
  139.   canvas.addImageObject('images/backgrounds/background' + background + '.png', 0, current_y);  
  140.   var f = Math.round(drives[i].freeSpace / drives[i].totalSize * 100);
  141.               var u = (100 - f);
  142.   canvas.addTextObject(convertBytes(drives[i].freeSpace) + ' / ' + f + '%', 'Segoe UI', 10, 'white', text_offset, current_y + 17);
  143.   var m = canvas.addImageObject('images/meter' + (u < 90 ? 'blue': (u < 98 ? 'orange': 'red')) + '.png', meter_offset, current_y + 34);  
  144.       m.width = Math.floor((u * 128 / 100));
  145.               m.left = 24 - Math.floor(((128 - m.width) / 2));
  146.  } else {
  147.   canvas.addImageObject('images/backgrounds/background' + background + 's.png', 0, current_y);  
  148.   canvas.addTextObject(convertBytes(drives[i].totalSize), 'Segoe UI', 10, 'white', text_offset, current_y + 17);
  149.  }
  150.  
  151.  var di=canvas.addImageObject('images/drives/drive' + drives[i].driveType + theme + '.png', icon_offset, current_y-5);
  152.  di.width*=0.8;
  153.  di.height*=0.8;
  154.              canvas.addTextObject(drives[i].volumeLabel + ' (' + drives[i].driveLetter + ':)', 'Segoe UI', 11, 'white', text_offset, current_y + 5);
  155.              var o = document.createElement('DIV');
  156.              o.className = 'target';
  157.              o.style.posTop = current_y;
  158.              o.setAttribute('drive', drives[i].driveLetter);
  159.              o.onclick = openDrive;
  160.              targets.appendChild(o);
  161.  
  162.  current_y += item_height;
  163.   }
  164.        System.Gadget.endTransition(System.Gadget.TransitionType.morph,0.1);
  165.        window.setTimeout(fixCanvasBackground, 600);
  166.        }
  167. } finally {
  168. vizchg = false;
  169. return;
  170. }
  171.      }
  172.  
  173.  function fixCanvasBackground() {
  174. canvas.src = canvas.src;
  175.  }
  176.  
  177.      function initDrives()
  178.      {
  179.   for(var i = 0; i < 26; i++)  {
  180.    drives[i] = System.Shell.drive(lst.charAt(i));
  181. if (drives[i] && drives[i].isReady)
  182. { drvchk[i] = true ; drvspc[i] = drives[i].freeSpace; }
  183. else  { drvchk[i] = false; }
  184. }
  185. return;
  186.      }
  187.  
  188.  function onShowSettings() {
  189.    window.clearInterval(timeout);
  190. System.Gadget.beginTransition();
  191. window.setTimeout(endTransitionFast, 400);
  192.  }
  193.  
  194.  function onSettingsClosed() {
  195.    readSettings();
  196.    timeout=window.setInterval(paintGadget, 2500);
  197.    vizchg=true;
  198.    paintGadget();
  199.  }
  200.  
  201.  function endTransitionFast() {
  202. System.Gadget.endTransition(System.Gadget.TransitionType.morph, 0.1);
  203. fixCanvasBackground();
  204.  }
  205.  
  206.    function readSettings() {
  207.    background=System.Gadget.Settings.read("background");
  208.    if(background==0) { background=2; System.Gadget.Settings.write("background",2); }
  209.    theme=System.Gadget.Settings.read("theme");
  210.    if(theme==0) { theme=1; System.Gadget.Settings.write("theme",1); }
  211.    show_pc=System.Gadget.Settings.read("showpc");
  212.    if(show_pc==0) { show_pc=1; System.Gadget.Settings.write("showpc",1); }
  213.    show_net=System.Gadget.Settings.read("shownet");
  214.    if(show_net==0) { show_net=1; System.Gadget.Settings.write("shownet",1); }
  215.    local=System.Gadget.Settings.read("local");
  216.    if(local==0) { local=2; System.Gadget.Settings.write("local",2); }
  217.    media=System.Gadget.Settings.read("media");
  218.    if(media==0) { media=2; System.Gadget.Settings.write("media",2); }
  219.    network=System.Gadget.Settings.read("network");
  220.    if(network==0) { network=2; System.Gadget.Settings.write("network",2); }
  221.    remove=System.Gadget.Settings.read("remove");
  222.    if(remove==0) { remove=2; System.Gadget.Settings.write("remove",2); }
  223.  }
  224.  
  225.      function onLoad()
  226.      {
  227.        System.Gadget.settingsUI = "settings.html";
  228.        System.Gadget.onSettingsClosed = onSettingsClosed;
  229. System.Gadget.onShowSettings = onShowSettings;
  230.  
  231.        readSettings();
  232.        initDrives();
  233. timeout = window.setInterval(paintGadget, 2500);
  234. vizchg = true;
  235. paintGadget();
  236. return;
  237.      }
  238.    </script>
  239.  </head>
  240.  <body onload="onLoad()">
  241.    <div id="targets"></div>
  242.    <g:background id="canvas" src="images/canvas.png" style="position: absolute; top: 0; left: 0; width: 156; height: 200; z-index: -999;" opacity="0" />
  243.  </body>
  244. </html>

Luego está este otro html, pero por el nombre de los eventos y que además parece estar relacionado unicamente con la ventana de la configuración del gadget, es decir, que los eventos suceden muy esporádicamente o nunca... solo para dibujar el background de la ventana de configuración del gadget, entonces yo diría que poco o nada tiene que ver todo este código con la fuga:

settings.html
Código
  1. <html>
  2.  <head>
  3.    <style>
  4.      body { width: 250px; height: 800px; padding: 0px; margin: 0px; font-family: Tahoma; }
  5.      body,p,div,span,td { font-size: 9pt; }
  6.      label { font-weight: bold; }
  7.      input,select { font: Arial; font-size: 9pt; }
  8.      table { width: 100%; }
  9.    </style>
  10.    <script>
  11.      var background, maxBackgrounds = 3, theme = 1, maxThemes = 7;
  12.  
  13.      function updateBackground()
  14.      {
  15.        var x = 84, y = 47, m;
  16.        canvas.removeObjects();
  17.  
  18.        canvas.addImageObject('images/backgrounds/background' + background + '.png', x, y);
  19.        m = canvas.addImageObject('images/meterblue.png', x + 24, y + 34);  
  20.        m.width = (0.25 * 128);
  21.        m.left = x + 24 - ((128 - m.width) / 2);
  22.  
  23.        canvas.addImageObject('images/drives/drive3' + theme + '.png', x, y);
  24.        canvas.addTextObject('Vista (C:)', 'Segoe UI', 11, 'white', x + 58, y + 5);
  25.        canvas.addTextObject('40GB / 75%', 'Segoe UI', 10, 'white', x + 58, y + 17);
  26.  
  27.        //y -= 20;
  28.  
  29.        //canvas.addImageObject('images/backgrounds/background' + background + '.png', x, y);
  30.        //m = canvas.addImageObject('images/meterorange.png', x + 24, y + 34);  
  31.        //m.width = (0.937 * 128);
  32.        //m.left = x + 24 - ((128 - m.width) / 2);
  33.  
  34.        //canvas.addImageObject('images/drives/drive3.png', x, y);
  35.        //canvas.addTextObject('Apps (D:)', 'Segoe UI', 11, 'white', x + 58, y + 5);
  36.        //canvas.addTextObject('10GB / 6.3%', 'Segoe UI', 10, 'white', x + 58, y + 17);
  37.  
  38. canvas.addImageObject('images/drives/drive3' + theme + '.png', x-85, y+130);
  39. canvas.addImageObject('images/drives/drive2' + theme + '.png', x-85, y+172);
  40. canvas.addImageObject('images/drives/drive4' + theme + '.png', x-85, y+215);
  41. canvas.addImageObject('images/drives/drive5' + theme + '.png', x-85, y+258);
  42.      }
  43.  
  44.      function onBackground()
  45.      {
  46.        var e = window.event, o = e.srcElement, b = o.getAttribute('base');
  47.  
  48.        o.src = 'images/settings/' + b + (e.type == 'mouseover' || e.type == 'mouseup' ? 'hover': (e.type == 'mousedown' ? 'pressed': '')) + '.png';
  49.  
  50.        if (e.type == 'mouseup')
  51.        {
  52.          if (b == 'next') background++; else background--;
  53.          if (background < 1) background = maxBackgrounds;
  54.          if (background > maxBackgrounds) background = 1;
  55.  
  56.          updateBackground();        
  57.        }
  58.      }
  59.  
  60.  function onTheme()
  61.      {
  62.        var e = window.event, o = e.srcElement, b = o.getAttribute('base');
  63.  
  64.        o.src = 'images/settings/' + b + (e.type == 'mouseover' || e.type == 'mouseup' ? 'hover': (e.type == 'mousedown' ? 'pressed': '')) + '.png';
  65.  
  66.        if (e.type == 'mouseup')
  67.        {
  68.          if (b == 'next') theme++; else theme--;
  69.          if (theme < 1) theme = maxThemes;
  70.          if (theme > maxThemes) theme = 1;
  71.  
  72.          updateBackground();        
  73.        }
  74.      }
  75.  
  76.  
  77.      function onClose(event)
  78.      {
  79.        if (event.closeAction == event.Action.commit)
  80.        {
  81.          System.Gadget.Settings.write("background", background);
  82.  System.Gadget.Settings.write("theme",      theme);
  83.  System.Gadget.Settings.write("showpc",     document.boxes.mypc.checked ? 2 : 1);
  84.  System.Gadget.Settings.write("shownet",    document.boxes.netw.checked ? 2 : 1);
  85.  
  86.  System.Gadget.Settings.write("remove",     document.boxes.remove.checked ? 2 : 1);
  87.  System.Gadget.Settings.write("local",      document.boxes.local.checked ? 2 : 1);
  88.  System.Gadget.Settings.write("network",    document.boxes.network.checked ? 2 : 1);
  89.  System.Gadget.Settings.write("media",      document.boxes.media.checked ? 2 : 1);
  90.    }
  91.  
  92.        event.cancel = false;
  93.  
  94. // System.Gadget.beginTransition();
  95. // window.setTimeout(endtransit, 400);
  96.  }
  97.  
  98. /*  function endtransit() {
  99. System.Gadget.endTransition(System.Gadget.TransitionType.morph, 0.1);
  100.  }*/
  101.  
  102.  
  103.      function onLoad()
  104.      {
  105.    var box;
  106.        System.Gadget.onSettingsClosing = onClose;
  107.  
  108.        background = System.Gadget.Settings.read("background");
  109.        if (background == 0) background = 2;
  110.  
  111. theme = System.Gadget.Settings.read("theme");
  112.        if (theme == 0) theme = 1;
  113.  
  114. System.Gadget.Settings.read("remove")  == 2 ? document.boxes.remove.checked  = true : false;
  115. System.Gadget.Settings.read("local")   == 2 ? document.boxes.local.checked   = true : false;
  116. System.Gadget.Settings.read("network") == 2 ? document.boxes.network.checked = true : false;
  117. System.Gadget.Settings.read("media")   == 2 ? document.boxes.media.checked   = true : false;
  118.  
  119. System.Gadget.Settings.read("showpc")  == 2 ? document.boxes.mypc.checked   = true : false;
  120. System.Gadget.Settings.read("shownet") == 2 ? document.boxes.netw.checked   = true : false;
  121.  
  122.        updateBackground();
  123.      }
  124.    </script>
  125.  </head>
  126.  <body onload="onLoad()">
  127.    <g:background id="canvas" src="images/settings/desktop.png" style="position: absolute; left: 1; top: 1; z-index: -999;" />
  128.    <div style="position: absolute; left: 0; top: 147px;">
  129.      <table cellspacing="0" cellpadding="0">
  130.        <tr>
  131.          <td style="width: 33%; padding-right: 10px;" align="right"><img src="images/settings/previous.png" base="previous" style="cursor: hand;" onmouseover="onBackground();" onmouseout="onBackground();" onmousedown="onBackground();" onmouseup="onBackground();" /></td>
  132.          <td style="width: 33%;" align="center"><label>Backgrounds</label></td>
  133.          <td style="width: 33%; padding-left: 10px;" align="left"><img src="images/settings/next.png" base="next" style="cursor: hand;" onmouseover="onBackground();" onmouseout="onBackground();" onmousedown="onBackground();" onmouseup="onBackground();" /></td>
  134. </tr>
  135. <tr>
  136.  <td style="width: 33%; padding-right: 10px;" align="right"><img src="images/settings/previous.png" base="previous" style="cursor: hand;" onmouseover="onTheme();" onmouseout="onTheme();" onmousedown="onTheme();" onmouseup="onTheme();" /></td>
  137.          <td style="width: 33%;" align="center"><label>Icon Theme</label></td>
  138.          <td style="width: 33%; padding-left: 10px;" align="left"><img src="images/settings/next.png" base="next" style="cursor: hand;" onmouseover="onTheme();" onmouseout="onTheme();" onmousedown="onTheme();" onmouseup="onTheme();" /></td>
  139.        </tr>
  140.      </table>
  141.      <table cellspacing="0" cellpadding="0" style="margin-top: 15px;margin-left:60px;">
  142.        <tr><td>
  143.          <form name="boxes">
  144. <input type="checkbox" name="local">
  145. <font style="font-size: 8pt;">Local Drives</font><p>
  146. <input type="checkbox" name="remove">
  147. <font style="font-size: 8pt;">Removable Drives</font><p>
  148. <input type="checkbox" name="network">
  149. <font style="font-size: 8pt;">Network Drives</font><p>
  150. <input type="checkbox" name="media">
  151. <font style="font-size: 8pt;">Media Drives</font><p>
  152. <input type="checkbox" name="mypc">
  153. <font style="font-size: 8pt;">My Computer link</font><br>
  154. <input type="checkbox" name="netw">
  155. <font style="font-size: 8pt;">Network Link</font>
  156. </form>
  157.        </td></tr>
  158.      </table>
  159.    </div>
  160.  </body>
  161. </html>
  162.  
7  Foros Generales / Foro Libre / Re: [Opinión] Simple noviazgo entre un chico de 15 años y una chica de 12 en: Hoy a las 09:22
Citar
¿Creeen que aún están muy jóvenes para pensar en ciertas cosas?
No, es ley de vida, ¿que problema hay en que dos niños se gusten, se besen, y/o hagan sexo con precaución?,
esas cosas conviene aprenderlas y experimentarlas cuanto antes, ya que si salen bien pues es algo bonito para recordar, y si sale mal pues sirve para crecer habiendo sufrido y lamentado, son cosas que te vuelven más fuerte a la larga, de nada hay que arrepentirse.

De todas formas a mi una diferencia de 3 años, no me parece excesiva, creo que eso es darle demasiadas vueltas además siendo los dos menores de edad... aunque también es cierto que entre 12 y 15 años la mentalidad se desarrolla a otro nivel, pero por otro lado también se dice que las mujeres desarrollan la mentalidad mucho más rápido que los hombres... asi que no se, quizás es como si los dos tuvieran 15 años, ¡es un poco lio!


Citar
¿Los padres de la chica permitirían una relación con un chico 3 años mayor que ella?
Ni en sueños, al menos 9 de cada diez padres y madres lo que más miedo les da es que violen o les suceda algo malo a su hija precisamente por dejarles salir con un chico más mayor que ella (yo he pasado por eso hace muchos años ya, y es una ***** que crean que vas a hacer algo malo a la persona que quieres, o que solo estás con su hija pa follar).


Citar
¿Él piensa un poco más diferente que en ella?
Eso habría que preguntárselo a él, quizás va a lo que va, o quizás está perdidamente enamorado.


¿Ella aún no conoce exactamente sus gustos y prefiere experimentar?
Todo lo contrario, es exactamente lo que esa niña quiere, salir con tios mayores.

De toda la vida ha sido así, las chicas jóvenes buscan a chicos que les saquen años (pues su mentalidad les dice que los chicos de su edad son más niños que ella, y suelen descartarlos automáticamente, a menos que sea Justin Bieber xD...), a veces esos tios con los que salen les sacan demasiaaaaados años... y luego pasa lo que pasa.


Saludos
8  Sistemas Operativos / Windows / Re: Iconos desaparecidos?? en: Ayer a las 23:57
He revisado esa ruta que me diste del registro de Windows y no aparece nada de defaulticon. ¿Cómo lo soluciono? Imagino que tengo que añadirlo yo, pero no sé si tengo que añadir una clave, un valor DWORD... salen bastantes posibilidades.

Un valor de tipo String, normal o extendida, ya que se trata de una ruta local hacia un icono:

Código
  1. Windows Registry Editor Version 5.00
  2.  
  3. [HKEY_CLASSES_ROOT\.jpg\DefaultIcon]
  4. @="C:\\Windows\\System32\\imageres.dll,-72"
  5.  
  6. [HKEY_CLASSES_ROOT\jpegfile\DefaultIcon]
  7. @="C:\\Windows\\System32\\imageres.dll,-72"

(donde "72" es el índice del icono)

Si al menos especificases que Windows tienes, que eso es lo más importante al hacer este tipo de preguntas... te sugeriría que restaurases las claves por defecto para dicha asociación, descargándolas aquí: http://www.eightforums.com/tutorials/8486-default-file-associations-restore-windows-8-a.html

PD: Para el resto de Windows, las puedes encontrar en la misma web y/o bsucando en Google.

Saludos
9  Sistemas Operativos / Windows / Re: Iconos desaparecidos?? en: Ayer a las 14:07
El problema puede deberse a dos posibles causas:

1) Se ha corrompido la asociación del icono a la extensión jpg

2) Se ha corrompido la cache de iconos de windows.


Para comprobar (y solucionar) lo primero, simplemente ejecuta Regedit, ve a la clave de la asociación de archivos jpg, y comprueba que el icono asociado existe, de no existir, corrígelo.
Código:
HKEY_CLASSES_ROOT\.jpg\defaulticon

Para solucionar lo segundo, debes reconstruir la cache para forzar una (correcta) actualización.

Para ello puedes servirte de este batch-script (ejecútalo con privilegios de Administrador):

Rebuild Icon Cache Tool.cmd
Código
  1. @Echo OFF
  2.  
  3.  
  4.  
  5. REM =================
  6. REM Console Settings:
  7. REM =================
  8.  
  9. Title Rebuild Icon Cache Tool - By Elektro
  10. Mode Con Cols=150 Lines=50
  11. CHCP 1252 1>NUL & REM Windows-1252, Spanish-Latin.
  12.  
  13.  
  14.  
  15. REM =====
  16. REM Info:
  17. REM =====
  18.  
  19. Echo  ------------------------------------------------------
  20. Echo  This script rebuilds the icon cache of the running OS.
  21. Echo  ------------------------------------------------------
  22.  
  23.  
  24.  
  25. REM =====
  26. REM Main:
  27. REM =====
  28.  
  29. Call :RebuildIconCache
  30. Echo [i] Done! | MORE
  31. Pause&Exit
  32.  
  33.  
  34.  
  35. REM ========
  36. REM Methods:
  37. REM ========
  38.  
  39. :TakeOwn
  40. (
  41. Takeown.exe /F "%~f1"
  42. ICacls.exe "%~f1" /Grant "%UserName%":"F"
  43. Attrib.exe -R -A -S -H -I "%~f1"
  44. )1>NUL 2>&1
  45. Goto:EOF
  46.  
  47. :RebuildIconCache
  48. (
  49. Taskkill /F /IM "Explorer.exe"
  50. For %%# In (
  51. "%LocalAppData%\Microsoft\Windows\Explorer\Icon*.db"
  52. ) Do (
  53. Call   :TakeOwn "%%~f#"
  54. Attrib -R -S -H "%%~f#"
  55. Del    /Q       "%%~f#"
  56. )
  57. )1>NUL 2>&1
  58. Start Explorer.exe
  59. Goto :EOF

Saludos
10  Foros Generales / Foro Libre / Re: Que me recomendais hacer.. en: Ayer a las 12:16
Pues para que veas como está la cosa, después de crear sitios webs para empresas llevar un foro y saber mucho más que la profesora me pone un 5, sin embargo a los demás de clase que no tienen ni idea tienen un 7 o un 6

Si lo que comentas ha sucedido tal y como dices, entonces obviamente o es tonta de remate (para valorar las mismas respuestas copiadas, con distinta nota), o de manera inconsciente está valorando de forma personal a cada alumno por separado, vamos, que es muy poco profesional y nada imparcial con las notas que puntua ya que se deja influir por otros factores que nada tienen que ver con las preguntas del examen en si mismo, si yo estuviera en tu lugar al menos me quejaría al director y a la junta de profesores exponiendo las discapacidades de enseñanza de las que dispone dicha profesora, las mismas que has comentado aquí, yo creo que con lo de >html< es más que suficiente para evaluar su carencia de estudios para poder enseñar, aunque seguramente no serviría para nada (ya que entre compañeros se cubren las espaldas), pero bueno, hay que hacerlo.

Creo que se puede acudir a un sitio para "denunciar" una persona que no está lo suficientemente capacitada para ejercer su trabajo, al menos en lo que se refiere a la educación, pero uf!... no recuerdo muy bien este tema y no se si me estoy confundiendo... podrías informarte en el ayuntamiento (por que creo que estaba relacionado) a ver si eso existe como yo creo recordar y que te orienten un poco a donde debes acudir, o a la policia, no se, si no me estoy confundiendo entonces con eso al menos la profesora se cagaría pata abajo al ver que vas en serio, y así quizás deja de hacer la tonta yempieza a ejercer bien su maldito trabajo (o dimite, para no seguir entorpeciendo la educación en España).
Estoy juzgando un poco sin conocer su parte de la historia, la verdad, pero bueno, no soy yo quien tiene que saber esas cosas.

Saludos!
11  Foros Generales / Foro Libre / Re: Que me recomendais hacer.. en: Ayer a las 11:10
>html< así decía que era y yo le dije profesora no ser´así <!DOCTYPE html> pues bueno dice voy a ver y se puso a buscarlo, joder que es una profesora.

Me matas... de verdad que no doy crédito a que un profesor/a, que ensña programación web... está enseñando en su campo, vaya y se equivoque garrafálmente en lo más básico, teniendo así que ver la chuleta en el libro. ¿pero eso que broma es?.

Hasta yo sé como se escriben las declaraciones, y eso que yo de html no tengo ni pajolera idea, solo he editado algunos sources de forma esporádica para proyectos en Vb.Net.

Así va la educación en España, con profesores que muy probablemente están enchufados, por que obviamente no demuestran tener más conocimientos que sus alumnos, debería caersesle la cara de verguenza al suelo y luego pisarse el morro una y otra vez por lo inútiles que son, pero bueno, esto es lo que hace el dinero, cuando uno pilla un trabajo de profesor se cree que está haciendo algo importante al "enseñar", les gusta la sensación de ser escuchados, respetados, y que les paguen por ello, pero les importa muy poco como le influya esto al desarrollo de sus alumnos, es decir, que les da igual poder estar capacitados para enseñar bien, o enseñar una educación de mierd@ como es tu caso y el de media España (respecto a los progesores de programación de todo tipo), la gente estúpida es así, no se dignan a dimitir cuando están a tiempo sin manchar aun más su nombre, ni profesores, ni políticos.

Saludos!
12  Programación / Programación General / Re: Duda de Delphi en: Ayer a las 09:53
Alguien me puede ayudar a encontrar la última librería Dxlib de delphi porque tengo una pero solo se me integra a la versión Delphi 7 y me hace falta para la versión de Delphi 2010

¿Has mirado lo que pone en la página oficial?.

Si lo hicieras, verías que no existe ninguna actualización compatible con Delphi 14:
http://www.delphixtra.com/dxlib.php

PD: Y eso que yo no he tocado Delphi en mi vida, pero usemos Google (y el sentido común) antes de formular preguntas, porfavor.

Saludos!
13  Programación / Programación General / Re: grupo telegram para novatos en: Ayer a las 09:48
Jajajaja me siento como si quisiera robaros clientes XD

No estarías "robando clientela", ni nada parecido, ya que el canal de irc no es oficial, como ya te han comentado.

Que cada uno piense y haga lo que quiera, pero... no se, si lo que quieres es crear un grupo para que te pasen código fuente entonces tienes miles de webs dedicadas especialmente a ello, no es necesario andarse con rodeos.

Saludos!
14  Informática / Multimedia / Re: Alternativas a FilesTube, descúbrelas aquí. en: 18 Diciembre 2014, 14:50
He probado el FileDiva y mira lo que ocurre cuando buscas "satelite banda x".

Suena a porno, pero quiero pensar que es un grupo de música, ¿si? xD,
a mi me sale 1 resultado (quitando GoogleFiles y el esponsor) y seguramente sea un falso positivo, ¿que debería salir?.

En el filecatch se me a descargado un archivo porque si  :-\

Vaya, yo por lo contrario no he tenido ese tipo de problema, de hecho me parece un servicio muy eficiente y transparente, ya que a diferencia de otros servicios parecidos, en 1 solo click ya vas directo a la url original donde esté hospedado el archivo, sin trampas de ningún tipo, ni tiempos de espera, ni adsense, ni captchas, ni chorradas.

De todas formas no se como te habrá sucedido eso al usar ese buscador, pero en este tipo de servicios conviene activar un bloquer de scripts (yo combino: AdBlock + NoScript), quizás sea por eso que yo no noté nada "raro".

Saludos!
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 435
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines