Sobre Vb

En la ayuda de visual studio aparece la función numlock() pero aparentemente solo es para visual foxpro, bueno quisiera saber si existe alguna función que permita saber y cambiar el estado de caps, numlock y bloquear desplazamiento, o sea las tres luces del teclado.
Ademas tengo otra preguntita ...
Estoy usando un .ocx que me baje de internet
y he terminado un programita para presentarlo en la universidad para un curso
como hago para generar los instaladores de mi aplicación, y ademas que el .ocx este incluido dentro de los instaladores y no haya problemas en que me aparezca que no existe el .ocx
Como puedo hacer ello.

1 respuesta

Respuesta
1
Primero me centrare en el tema de instalación aunque sin saber que programa de instalación vas a usar seré un poco genérico, todos estos programas incluido el emnpaquetador que viene incluido en visual basic (que podrás usar sin tener que buscar o adquirir otro ya que para un proyecto de universidad es suficiente ) te permiten incluir archivos, si es una ocx este empaquetador ya te la incluirá en la instalación pero para asegurarte revisa la lista de componentes que te creara el programa de instalación y si no estuvies (poco probable) tienes una opción para incluirlas e indicarle donde ubicarlas (siempre para las ocx en la carpeta system).
Esto más que nada te lo indico para otro tipo de archivos como bases de datos imágenes etc, ya que las ocx la instalación de empaquetador te las cogerá seguro por defecto.
En cuanto a tu primer tema
'Crea un modulo o incluye este codigo en uno ya existente en tu proyecto e incluye lo siguiente
Declare Sub GetKeyboardState Lib "user32" (lpKeyState As Any)
Declare Sub SetKeyboardState Lib "user32" (lpKeyState As Any)
Public Const VK_CAPITAL = &H14
Public Const VK_NUMLOCK = &H90
'Añade un boton a tu formulario llamado Command1 por ejemplo
Private Sub Command1_Click()
ReDim KeyboardBuffer(256) As Byte
GetKeyboardState KeyboardBuffer(0)
'Este ejemplo muestra como pulsar el Caps Lock. Si quieres que
'presione el Num Lock, sustituye los VK_CAPITAL por VK_NUMLOCK
If KeyboardBuffer(VK_CAPITAL) And 1 Then
KeyboardBuffer(VK_CAPITAL) = 0
Else
KeyboardBuffer(VK_CAPITAL) = 1
End If
SetKeyboardState KeyboardBuffer(0)
End Sub
Disculpa que te vuelva a molestar, pero respecto a lo primero que me respondiste, dentro de mi programa tengo un archivo de texto que es leído, cuando genere los instaladores como hago para que sin importar de donde lo instale se pueda leer el archivo.(Ya que yo lo llamo con la ruta completa, hay una forma de cargarlo sin darle la ruta completa, ¿solo el nombre?, pues el archivo esta en el directorio de mi proyecto)
¿Y no es necesario registrar el .ocx con el regsrv32 o algo así?, solo por si acaso.
Respecto a lo de caps y numlock, ¿la función que me das me da el estado actual o que hace?, yo quiero que haciendo clic en un label que simula a la luz, ¿se prenda y apague la luz del teclado
eso se puede hacer?
Gracias de todas formas!
Bueno sobre lo primero, lo mejor es ubicar el archivo a partir del directorio de la aplicación osea Aplicacion\Archivos\Archivo.txt
o Aplicacion\Archivo.txt
Por que hacerlo así, muy fácil con la sentencia App. Path Recuperaras el directorio de la aplicaciom poe ejemplo "C:\Mi Aplicación"
Con lo que para obtener la ruta completa del archivo sera suficiente poner
sRuta = App.Path & "\Archivos\Archivo.txt"
En cuanto a el tema del instalador pondré por ejemplo el instalador de Visual Cuando llegues al punto del listado de componentes necesarios para la aplicación, te aparece un botón para agregar archivos, Vasta con que con el explorador le indiques el archivo y este se ubicara por defecto en el directorio del ejecutable de la aplicación, si deseas modificar este directorio, Más tarde cuando se te ha creado el paquete de instalación busca el archivo setup. Lst y lo abres con el bloc de notas busca el archivo y pondrá algo similar a esto
File1=@Mi Archivo.txt,$(AppPath)
(Solo tienes que indocar donde pone appath pues por ejmp Appath\Archivos (Esto te ubicaría el archivo en el directopria archivos que colgaría del directorio raíz de la aplicación)
- En cuanto al NUM LOCK...
Te explico para que sirven las funciones
'La primera te devuelve el estado de Capslock a nivel de tecla
'La segunda a nivel de Keyboard
'LA tercera cambia el estado del Keyboard
'GetKeyState
'GetKeyboardState
'SetKeyboardState
LAs incluyes en un modulo (Te explicop que a SetKeyboardState pasándole 1 activa y pasándole 0 desactiva.
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long
Para mas ayuda aqui tienes un ejemplo mas completo que el que te mande
http://www.experts-exchange.com/CXO/Programming/Programming_Languages/Visual_Basic/Q_10207231.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas