Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Call befehl öffnet Makro auswahl

Frage Entwicklung VB for Applications

Mitglied: thomas1972

thomas1972 (Level 1) - Jetzt verbinden

08.02.2015 um 15:40 Uhr, 627 Aufrufe, 3 Kommentare

Hallo,

ich habe ein Modul, welches den Num-Look an/ausschalten kann.

Rufe ich per CALL Befehl den aus/an Befehl auf funktioniert dieses.

Modul
01.
Öffne ich dieses in einem Formular erscheint die Marko Auswahl 
02.
 
03.
Private Declare Function GetKeyboardState Lib "user32" _ 
04.
      (pbKeyState As Byte) As Long 
05.
 
06.
Private Declare Function GetKeyState Lib "user32" _ 
07.
      (ByVal nVirtKey As Long) As Integer 
08.
 
09.
Private Declare Function GetVersionEx Lib "kernel32" _ 
10.
      Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long 
11.
 
12.
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _ 
13.
      ByVal dwFlags As Long, ByVal dwExtraInfo As Long) 
14.
 
15.
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long 
16.
 
17.
Private Const VER_PLATFORM_WIN32_NT = 2 
18.
Private Const VER_PLATFORM_WIN32_WINDOWS = 1 
19.
Private Const KEYEVENTF_EXTENDEDKEY = &H1 
20.
Private Const KEYEVENTF_KEYUP = &H2 
21.
    
22.
Private Const VK_CAPS = &H14 
23.
Private Const VK_NUM = &H90 
24.
Private Const VK_SCROLL = &H91 
25.
 
26.
Private keys(0 To 255) As Byte 
27.
 
28.
Private Type OSVERSIONINFO 
29.
    dwOSVersionInfoSize As Long 
30.
    dwMajorVersion As Long 
31.
    dwMinorVersion As Long 
32.
    dwBuildNumber As Long 
33.
    dwPlatformId As Long 
34.
    szCSDVersion As String * 128 
35.
End Type 
36.
 
37.
Private oSv As OSVERSIONINFO 
38.
 
39.
Private Function KeyStatus(Taste) As Boolean 
40.
    Dim bInsertKeyState As Boolean 
41.
    oSv.dwOSVersionInfoSize = Len(oSv) 
42.
    GetVersionEx oSv 
43.
    GetKeyboardState keys(0) 
44.
    KeyStatus = keys(Taste) 
45.
End Function 
46.
 
47.
Private Sub Switch(Taste, AnAus As Boolean) 
48.
    If (KeyStatus(Taste) <> AnAus) Then 
49.
        If (oSv.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS) Then 
50.
            keys(Taste) = 1 
51.
            SetKeyboardState keys(0) 
52.
        ElseIf (oSv.dwPlatformId = VER_PLATFORM_WIN32_NT) Then 
53.
            keybd_event Taste, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0 
54.
            keybd_event Taste, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0 
55.
        End If 
56.
    End If 
57.
End Sub 
58.
 
59.
Private Sub An() 
60.
    Switch VK_NUM, 0 
61.
    Switch VK_CAPS, 0 
62.
    Switch VK_SCROLL, 0 
63.
End Sub 
64.
 
65.
Private Sub Aus() 
66.
    Switch VK_NUM, 1 
67.
    Switch VK_CAPS, 0 
68.
    Switch VK_SCROLL, 0 
69.
End Sub 
70.
 
71.
Private Sub Status() 
72.
    MsgBox "Num : " & KeyStatus(VK_NUM) & vbNewLine & _ 
73.
           "Caps: " & KeyStatus(VK_CAPS) & vbNewLine & _ 
74.
           "Scroll: " & KeyStatus(VK_SCROLL), _ 
75.
           vbExclamation, "Tastenstatus" 
76.
End Sub
Sind die Werte in dem Modul falsch als Private/Public deklariert?
Mitglied: 114757
08.02.2015 um 15:45 Uhr
Sind die Werte in dem Modul falsch als Private/Public deklariert?
Yup ...

Gruß jodel32
Bitte warten ..
Mitglied: thomas1972
08.02.2015 um 15:46 Uhr
hmm dann stell ich die Frage anders,
Wie/welche sind fall/ muss ich diese entsprechend anpassen, damit ich Sie auch per call ausführen kann?
Bitte warten ..
Mitglied: 114757
08.02.2015, aktualisiert um 17:37 Uhr
Pack alles in ein Klassen-Modul und mach die Prozeduren An und Aus Public, wenn du die Status-Funktion ebenfalls benötigst, ebenfalls als Public definieren.
Dann erstellst du dort wo du die Funktionen anwenden willst eine Instanz der Klasse, und rufst die Funktionen damit auf:
01.
Dim myclass as new NamedesKlassenmoduls 
02.
myclass.An
p.s. API Aufrufe wie Private Declare Function müssen immer in ein Modul, und gehen nicht wenn sie in ein Formular eingefügt werden !
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Server-Hardware
gelöst Hilfe bei einer Server (Hardware) auswahl (30)

Frage von bjk190368 zum Thema Server-Hardware ...

Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Voice over IP
Fax over IP Einrichtung Gateway Call Manager (1)

Frage von mellon zum Thema Voice over IP ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...