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

#7611
Hola,

Estaba tratando de enviar cierta información a un compañero del foro pero me salia un extraño error al intentar enviar el mensaje, así que indagando y editando el contenido del mensaje he descubierto cual era el problema, y se trata de este:

Loquesea@Loquesea.com; Loquesea@Loquesea.com

Símplemente traten de escribir y publicar dos emails separados por una coma, y no podrán hacerlo, saldrá este error al intentar publicar/previsualizar un post:
You don't have permission to access /post2.html;start=0;board=XX on this server.

O este otro al intentar mandar un mensaje:
You don't have permission to access /pm.html;sa=send2 on this server.

En el ejemplo usé un punto-y-coma, deben usar una coma para ver el error.

No soy Admin de ningún foro así que disculpar si me equivoco pero aún sin conocer como se crea un foro SMF o como funciona, lo primero que se me viene a la cabeza es que algún parseador (quizás el parser que se encarga de filtrar las palabras prohibidas) está haciendo mal su trabajo produciendo algún bug, o quizás es algún otro parser que trata de parsear cadenas delimitadas por comas, lo dejo ahí por si os ayuda a encontrar el causante del error.

Saludos!
#7612
Cita de: Ikillnukes en  9 Diciembre 2013, 01:07 AMSon texturas representados con Rects :P

Primero dices que necesitas especificar un tamaño, pero ahora dejas ver que también necesitas especificar unas coordenadas (Por el uso de la estructura Rect).

En ese caso puedes usar la estructura Rectangle para especificar ambos:
Código (vbnet) [Seleccionar]
Dim myTexture As New Rectangle(New Point(X, Y), New Size(W, H))

Saludos
#7613
El problema está aquí:
CitarSet "MAC=%%@" >"%USERPROFILE%\desktop\resultado.txt"

Sería así:
Echo %%@>"%USERPROFILE%\desktop\resultado.txt"

Lo que has intentado hacer no tienen ningún sentido, debes estudiar que son y como se usan los Operadores de redirección y los Búcles/Loops/Fors.

-> http://ss64.com/nt/syntax-redirection.html
-> http://ss64.com/nt/for_f.html

Además, no caigas en el error de pensar que todo se debe escribir en un archivo de texto para crear variables u otras cosas... como has visto yo no he necesitado hacer eso.

Saludos
#7614
Coño, pues es verdad, a mi me parece la mejor sugerencia del mes (o del año, no se), no me habia percatado de que (a diferencia de la mayoría de foros que he visitado) no te alerta de que estás apunto de cerrar lo que estabas escribiendo.

saludos!!
#7615
Dudas Generales / Re: Quien escribe ask.fm
9 Diciembre 2013, 00:12 AM
Cita de: Pancho.- en 21 Abril 2012, 23:05 PManda molestando mucho con preguntas q insultan a mi novia o ami

Ya veo, parece el típico "valiente" de Internet, mi consejo: ¿Porque le das importancia?, ignórale.

Saludos!
#7616
Si intentas modificar manuálmente el nombre del PC verás como Windows te avisa de que se requiere un reinicio para efectuar el cambio, no me lo invento.
De todas formas al usar tanto el Script que te mostré como el que tu mostraste, sin reiniciar puedes ver el nuevo nombre en el panel de control en las propiedades avanzadas del sistema, pero iguálmente se requiere un reinicio para finalizar la modificación.

Lo que ocurre es que en en tu script estás modificando más valores aparte del nombre del equipo, como el nombre del dominio y el del PC activo,
quizás el problema podría ser que no hayas usado el término correcto para referirte a lo que reálmente pretendes modificar (el nombre del PC), si quieres modificar todas esas cosas entonces combina esas 4 órdenes con la que yo puse en mi script, es así de simple.

Código (dos) [Seleccionar]
reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName"  /d "CualQuierNombre%MAC%" /F 1>NUL
reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName"       /v "ComputerName"  /d "CualQuierNombre%MAC%" /F 1>NUL
reg add "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters"               /v "NV Hostname"   /d "CualQuierNombre%MAC%" /F 1>NUL
reg add" HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters"               /v "Hostname"      /d "CualQuierNombre%MAC%" /F 1>NUL


Saludos!
#7617
Cita de: Slikp en  8 Diciembre 2013, 23:11 PM- Probe tu script y no me funciono en Primer lugar me pide ingresar Un nombre luego doy enter y termina el programa, pero no me cambia el nombre de la pc.
La modificación del registro requiere un reinicio de la sesión del usuario para que los cambios surgan efecto, reinicia tu PC para ver el nuevo nombre del PC.

Cita de: Slikp en  8 Diciembre 2013, 23:11 PMAsi como me has dado el script Funcionara tanto para W7 como Para Xp ??
Si, la aplicación getmac.exe está disponible en WinXP, y la subclave de registro es idéntica.

Cita de: Slikp en  8 Diciembre 2013, 23:11 PMSi modifico tu script de esta manera Funcionara??
Si, no te preocupes, la modificación que hiciste es correcta.

Pero ten en cuenta que hay un límite máximo de longitud para establecer el nombre del PC, es muy posible que si agregas un nombre demasiado largo mediente el registro, windows automáticamente lo acorte, o símplemente no puedas iniciar sesión, lo he verificado en XP y al agregar un nombre demasiado largo se produce un error en el proceso lssas negando el inicio del escritorio, ten cuidado.

Desconozco el límite exacto (además de una versión de Windows a otra el número quizás podría variar), pero lo puedes verificar tu mismo intentando escribir un nombre largo en la caja de texto donde se establece el nombre del PC, de todas formas esto dice Microsoft:

CitarThe recommended length of the Computer Name for most languages is 15 characters or less.
For languages that require more storage space per character, such as Chinese, Japanese, and Korean, the recommended length is 7 characters or less.

Así que asegúrate de limitar la longitud de la cadena del nombre con la MAC ya agregada al nombre. En el Script que te mostré tienes un ejemplo de como hacer un Substring:
%String:~START,END%

Saludos.
#7618
Scripting / Re: Enviar email
8 Diciembre 2013, 23:02 PM
Cita de: lochapa en  7 Diciembre 2013, 20:51 PMel problema es que no se ningun lenguaje y pues me gustaria hacer este programa, algun consejillo?

El mejor consejo que se me ocurre es: No uses Batch.

Cualquier otro lenguaje de Scripting que escojas (Ruby/Python/Perl/etc...) segúramente ya dispondrá de métodos y/o librerías externas para el envío de emails, en cambio en algo tan manco cutre nefasto como Batch la única solución es depender/recurrir a aplicaciones de terceros, y así no aprenderás nada;
Por otro lado y si tu intención no es aprender, usando una aplicación de terceros te será mucho más sencillo puesto que solo debes aprender a usar el programa y no un lenguaje de programación. Una buena e intuitiva herramienta CommandLine para enviar emails (desde la consola, usando Batch por ejemplo) es ZetaUploader -> https://www.zeta-uploader.com/es

Saludos

#7619
Para obtener la salida de un comando debes usar FOR /F.

Te muestro mi solución:

Código (dos) [Seleccionar]
@Echo OFF & Title Rename ComputerName

Set "MAC="
Set "PCName="

SET /P "PCName=Provide a new computer name: "

FOR /F "Tokens=1 Delims= " %%@ IN (
'getmac.exe ^| FIND "\"'
) DO (
Set "MAC=%%@" & REM Obtain address
Call Set "MAC=%%MAC:-=%%" & REM Delete Dash character "-"
Call Set "MAC=%%MAC:~6%%" & REM Take last 6 characters.
)

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /D "%PCName%%MAC%" /F 1>NUL

Pause&Exit


EDITO:
No leí esta duda.
Cita de: Slikp en  8 Diciembre 2013, 20:47 PMquisiera saber lo del "no se reconoce edlin como un comando interno o externo" A que se debe eso?

Se debe a que no existe el comando EDLIN en tu PC. Edlin es un comando de WindowsXP.

Saludos!
#7620
Sin otro factor intermediario en mi opinión es complétamente absurdo cancelar la ejecución de la aplicación al iniciarla haciendo doble click pero no cancelarla al iniciarla desde otro sitio, para mi no tiene sentido,
dicho factor intermediario que podrías usar es un Argumento, es decir, desde la aplicación secundaría ejecutas la aplicación y le envías un parámetro para asegurar de que la aplicación cumple las condiciones necesarias para proseguir con su inicio.

Ejemplo:
Código (vbnet) [Seleccionar]
Process.Start("Aplicación.exe", "ForceRun")

Puedes evaluar el argumento pasado a la aplicación, si el argumento no es igual a "X", entonces terminas la ejecución.

En este ejemplo uso los eventos de la aplicación (Startup) ya que se da lugar antes de que se cree la ventana, pero puedes evaluarlo en el Evento Load o donde prefieras.

Código (vbnet) [Seleccionar]
Namespace My

   Partial Friend Class MyApplication

       Private Shadows Sub Startup() Handles MyBase.Startup

           Dim Arg As String = My.Application.CommandLineArgs.FirstOrDefault

           If String.IsNullOrEmpty(Arg) _
           OrElse Not Arg.Equals("ForceRun", StringComparison.InvariantCultureIgnoreCase) Then
               End
           End If

       End Sub

   End Class

End Namespace


De esta manera, la aplicación sólamente se iniciará si le pasas el argumento,
quizás exista alguna forma de averiguar si un proceso se ha iniciado desde el explorer por la intervención del ratón, es un misterio muy interesante la verdad, pero al menos yo desconozco si eso es algo posible de averiguar, y dudo que sea nada factible puesto que es la Shell quien se encarga de interpretar ese Click, puedes hacer doble click en un acceso directo (.lnk) que esté asociado a la aplicación ¿Como se interpreta entonces ese Click?, desde luego sería muy dificil por no decir imposible que llegase a ser eficiéntemente detectado, espero que la solución alternativa que te he ofrecido te sirva, a mi parecer es la más eficaz además de sencilla.

Saludos!