Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: thomas1972

thomas1972 (Level 1) - Jetzt verbinden

08.02.2015 um 15:40 Uhr, 832 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 ..
Ähnliche Inhalte
VB for Applications
Zelle in Excel per Makro auswählen
gelöst Frage von EnriqeVB for Applications7 Kommentare

Hallo Admins, gleich mal vorneweg, von VBA Programmierung habe ich ähnlich viel Ahnung, wie die Kuh vom Eierlegen. Ich ...

Humor (lol)
Call Center
Frage von ukulele-7Humor (lol)10 Kommentare

Ich hatte eben einen eigentlich lustigen Anruf, wenn es mir dieses dummdreiste Getue nicht so auf den Nerv gehen ...

Batch & Shell

Übergabe der Variablen bei Call funktioniert nicht

gelöst Frage von SupidoBatch & Shell2 Kommentare

Hallo, ich komme mit menem untenstehnden Code nicht weiter. In :install bekomme ich nicht die richtigen Variablen ("%Pathdriver%" "%Printername%") ...

Switche und Hubs

Router Auswahl

Frage von kossabSwitche und Hubs9 Kommentare

Hallo Zusammen, Ich habe bis jetzt fast immer Draytek Router eingesetzt, weil sie richtig stabil, einfach zu konfigurieren sind ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 StundeSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 10 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 23 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...