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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PYTHON] 2 dudas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PYTHON] 2 dudas  (Leído 3,528 veces)
sunicomi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[PYTHON] 2 dudas
« en: 11 Septiembre 2012, 14:18 pm »

Buenas, estoy haciendo un programa en python cuya interfaz es la cmd de Windows. Este programa me da un texto que yo quiero que se pueda seleccionar en la cmd para copiarlo y pegarlo en otra parte. Como hago para que se habilite la opción de seleccionar texto en la cmd?

y Otra pregunta: Como se hace en Python para añadir un programa al registro de forma que se inicie cada vez que se encienda el PC.

Gracias de antemano!



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: [PYTHON] 2 dudas
« Respuesta #1 en: 11 Septiembre 2012, 17:49 pm »

Como se hace en Python para añadir un programa al registro de forma que se inicie cada vez que se encienda el PC.

Código
  1. from _winreg import *
  2. keyVal = r'Software\Microsoft\Windows\CurrentVersion\Run'
  3. key = CreateKey(HKEY_CURRENT_USER, keyVal)
  4. SetValueEx(key, "MI PROGRAMA", 0, REG_SZ, "C:\carpeta\miprograma.exe")
  5. CloseKey(key)

--> Winreg



Como hago para que se habilite la opción de seleccionar texto en la cmd?

Te lo doy en forma de registro, Así practicas  :P
Código:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"QuickEdit"=dword:00000001

PD: Los cambios del modo "edición rápida" no tienen efecto hasta que abres una nueva instancia de la CMD.

EDITO: Aunque también podrías mandar el texto directamente al portapapeles, así no hay necesidad de copiar el texto manualmente...

En Batch:
Código
  1. @Echo OFF
  2. Echo elhacker.net | Clip
  3. REM ctrl + V

En Python (bajo Windows):
win32clipboard del paquete pywin32
http://sourceforge.net/projects/pywin32/

Saludos


« Última modificación: 11 Septiembre 2012, 17:57 pm por EleKtro H@cker » En línea



sunicomi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [PYTHON] 2 dudas
« Respuesta #2 en: 11 Septiembre 2012, 18:47 pm »

Muchas gracias, es justo lo que estaba buscando. ahora lo pruebo todo.

EDITO: Lo único que no entiendo es el porque de la r delante de 'Software\Microsoft\Windows\CurrentVersion\Run'

Para que sirve esa r?
« Última modificación: 11 Septiembre 2012, 18:52 pm por sunicomi » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: [PYTHON] 2 dudas
« Respuesta #3 en: 11 Septiembre 2012, 22:13 pm »

Lo único que no entiendo es el porque de la r delante de 'Software\Microsoft\Windows\CurrentVersion\Run'

Para que sirve esa r?

No tiene nada que ver con winreg, Sirve para indicar que la cadena se manipule como si fuese una expresión regular

Para el ejemplo que te puse no es necesario usarlo, pero imaginate esta situación:
Código
  1. from _winreg import *
  2.  
  3. keyVal = 'Software\Microsoft\Windows\CurrentVersion\n'
  4. # La "\n" no se reconocería porque se entiende como un salto de linea en python.
  5. # Entonces tendrías que escapar el slash así:
  6. keyVal = 'Software\Microsoft\Windows\CurrentVersion\\n'
  7. # En cambio al manipularlo como expresión regular, la "\n" se reconoce sin necesidad de añadir otro slash... útil para agilizar las cosas un poco más y evitar errores en este caso:
  8. keyVal = r'Software\Microsoft\Windows\CurrentVersion\n'
  9. # Aunque por supuesto esta no es la finalidad total del uso de las expresiones regulares.
  10.  
  11. key = CreateKey(HKEY_CURRENT_USER, keyVal)
  12. SetValueEx(key, "MI PROGRAMA", 0, REG_SZ, "C:\carpeta\miprograma.exe")
  13. CloseKey(key)

info: http://docs.python.org/library/re.html

EDITO: Otro ejemplo más claro:
Código
  1. print "hola\nhola"
  2. print r"adios\nadios"
  3. raw_input()


Saludos.
« Última modificación: 11 Septiembre 2012, 22:20 pm por EleKtro H@cker » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas con comandos [PYTHON]
Scripting
.ANTRAX. 2 3,647 Último mensaje 10 Marzo 2010, 15:14 pm
por .ANTRAX.
Dudas en Python
Scripting
Fyrox 6 3,889 Último mensaje 24 Agosto 2011, 00:49 am
por Fyrox
dudas de python
Scripting
arkaneix 1 2,420 Último mensaje 25 Octubre 2012, 06:49 am
por Eleкtro
Dudas en aprendizaje python
Scripting
dairus20 4 3,036 Último mensaje 15 Mayo 2014, 04:25 am
por dairus20
dudas con python
Scripting
user999 3 3,258 Último mensaje 9 Septiembre 2015, 18:38 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines