Access - App.hInstance para Access??

 
Vista:

App.hInstance para Access??

Publicado por McRight2k (21 intervenciones) el 20/03/2003 09:16:33
Hola!!
Estoy probando una función API para deshabilitar las
teclas Alt+Tab, Alt+Esc y Ctrl+Esc para WINDOWS
NT/2000/XP. Es de la web del Guille, y ha sido puesta
recientemente.

Funciona bien en Visual Basic 6, pero haciendo lo mismo en
Access, no me funciona. Es necesario modificar el código,
ya que en Access, el valor de tipo Long que devuelve:

App.hInstance

no existe. He estado buscando en la ayuda y he probado:

Access.Application.hWndAccessApp

pero no hace nada.
Según he leido no es lo mismo el hWnd que la hInstance.
Alguien sabe el equivalente de App.hInstance para Access
XP????
Toy desesperao con esto!!!

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

App.hInstance para Access??

Publicado por Alejandro (4142 intervenciones) el 27/04/2023 00:14:22
En Access, no hay una propiedad `hInstance` que puedas usar para obtener el identificador de instancia de la aplicación. En su lugar, puedes intentar usar la función `FindWindow` para encontrar la ventana principal de Access y obtener su identificador de instancia a través de la función `GetWindowLong`. Aquí te dejo un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long) As Long
 
Private Const GWL_HINSTANCE = (-6)
 
Public Function GetAccessInstance() As Long
    Dim hWndAccess As Long
    hWndAccess = FindWindow("OMain", vbNullString)
    If hWndAccess <> 0 Then
        GetAccessInstance = GetWindowLong(hWndAccess, GWL_HINSTANCE)
    End If
End Function

En este ejemplo, la función `GetAccessInstance` busca la ventana principal de Access (`hWndAccess`) usando la función `FindWindow`. Si la encuentra, la función usa `GetWindowLong` con el parámetro `GWL_HINSTANCE` para obtener el identificador de instancia de Access y lo devuelve como resultado.

Ten en cuenta que este método puede no funcionar en todas las versiones de Access y podría no deshabilitar las teclas que deseas. Además, ten en cuenta que deshabilitar las teclas de acceso puede ser una mala práctica de usabilidad y accesibilidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar