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

Frage Entwicklung VB for Applications

Mitglied: thomas1972

thomas1972 (Level 1) - Jetzt verbinden

08.02.2015 um 15:40 Uhr, 816 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%") ...

Microsoft Office
Excel Makro
Frage von maloh1984Microsoft Office4 Kommentare

Hallo Habe ein Problem, ein Kunde der hat Excellisten mit Makro die lassen sich öffnen aber die Buttons reagieren ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 11 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 12 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 20 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...