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

gelöst Mit VB Tastatureingabe programmieren

Mitglied: thedani

thedani (Level 1) - Jetzt verbinden

19.05.2007, aktualisiert 12:21 Uhr, 10490 Aufrufe, 4 Kommentare

Kann ich mit VB eine Tastatureingabe simulieren?

Hallo zusammen. Ich habe folgendes problem:

Wir haben von Elo Touch Touchscreenmonitore für ein Kunde gekauft. Der lässt jetzt dort eine PowerPoint 2003 laufen. Jetzt ist das problem, dass bei PP03 der Mauszeiger nach drei Sekunden inaktiv wird und man muss dann immer zwei mal auf den Touchscreen klicken, damit es weiter geht. So weit so gut, das Problem habe ich eigentlich gelöst, in dem man während der Präsentation auf
Rechtsklick | Zeigeroptionen | Pfeiloptionen | Sichtbar
klickt und dann ist der Pfeil immer sichtbar. Nur das Problem ist jetzt, dass es Microsoft nicht fertig bringt, diese Einstellung zu fixieren, sprich der Kunde muss dies immer bei jedem Start einstellen und er hat ja keine Tastatur. Jetzt meine Frage: Kann ich mit VB folgende Tastatur kürzel simulieren?

Rechtsklick | Alt + E | Alt + O | Alt + S

und diese Eingabe dann beim Start von PP03 auf ein Button legen, damit er das Script beim Drücken des Buttons ausführt?

Danke für eure Hilfe!!!
Mitglied: bastla
19.05.2007 um 11:26 Uhr
Hallo thedani!

PowerPoint ist zwar weniger meine Baustelle, aber versuch es einmal mit folgender Code-Zeile:
01.
Sub PfeilSichtbar() 
02.
SlideShowWindows(1).View.PointerType = ppSlideShowPointerArrow 
03.
End Sub
Platziere den Code in einem Modul, erstelle auf der ersten Folie zB ein Rechteck mit 100 % Transparenz und ohne Rahmen und ordne dessen "Aktionseinstellungen..." über "Makro ausführen:" obiges Sub zu. Durch einen Klick auf das (unsichtbare) Rechteck wird der Code gestartet.

Grüße
bastla
Bitte warten ..
Mitglied: thedani
19.05.2007 um 11:46 Uhr
Yes ich kann es kaum fassen!!!

Es funktioniert. Vielen vielen Dank für deine Hilfe, der Kunde wird begeistert sein. Du hast mir echt eine menge Arbeit erspart.
Bitte warten ..
Mitglied: problemsolver
19.05.2007 um 12:05 Uhr
Hi!

[edit] Mannomann, war ich kompliziert und langsam bei der Lösung Sorry...[/edit]

zuerst dachte ich, dass es relativ leicht ist mit der SendKeys Anweisung hier zu agieren.
Das Problem dabei war, dass nach einem Rechtsklick in einer ausgeführten Powerpointpräsentation die Sendkeys Anweisung nicht funktioniert bzw. sich auf die Hauptapplikation bezieht.

Deshalb habe ich einen Workaround programmiert, der auf jeden Fall bei einer Auflösung von 1024x768 funktioniert. Ist zwar aus anderen VB Quellen zusammengebastelt, erfüllt jedoch seinen Zweck prima!

Erstelle in der Powerpoint Datei ein neues Modul.
In dieses Modul fügt du den folgenden Code ein und setzt dein "Makro-Button" auf die Sub "Makro1()" (Extras --> Anpassen in Powerpoint)

01.
'Benötigte Deklarationen 
02.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 
03.
 
04.
Private Declare Function GetCursorPos Lib "user32" (cPoint As POINTAPI) As Long 
05.
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long 
06.
Private Type POINTAPI 
07.
    x As Long 
08.
    y As Long 
09.
End Type 
10.
 
11.
Private Declare Sub mouse_event Lib "user32" _ 
12.
 (ByVal dwFlags As Long, ByVal dx As Long, _ 
13.
 ByVal dy As Long, ByVal cButtons As Long, _ 
14.
 ByVal dwExtraInfo As Long) 
15.
 
16.
Public Const MOUSE_LEFT = 0 
17.
Public Const MOUSE_MIDDLE = 1 
18.
Public Const MOUSE_RIGHT = 2 
19.
 
20.
'TPOINT beinhaltet die Koordinaten, wo sich die Maus gerade befindet und ist mit 
21.
'Wo_ist_die_Maus zu aktualisieren... s.u. 
22.
Dim tPoint As POINTAPI 
23.
 
24.
'Die nachfolgende Prozedur simuliert den gewünschten Mausklick. 
25.
Public Sub SendMausklick(ByVal mButton As Long) 
26.
  Const MOUSEEVENTF_LEFTDOWN = &H2 
27.
  Const MOUSEEVENTF_LEFTUP = &H4 
28.
  Const MOUSEEVENTF_MIDDLEDOWN = &H20 
29.
  Const MOUSEEVENTF_MIDDLEUP = &H40 
30.
  Const MOUSEEVENTF_RIGHTDOWN = &H8 
31.
  Const MOUSEEVENTF_RIGHTUP = &H10 
32.
 
33.
  If (mButton = MOUSE_LEFT) Then 
34.
    Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 
35.
    Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 
36.
  ElseIf (mButton = MOUSE_MIDDLE) Then 
37.
    Call mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0) 
38.
    Call mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0) 
39.
  Else 
40.
    Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) 
41.
    Call mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0) 
42.
  End If 
43.
End Sub 
44.
 
45.
Sub Makro1() 
46.
SendKeys "{F5}", True 
47.
SendMausklick MOUSE_RIGHT 
48.
Sleep 500 
49.
Wo_ist_die_Maus 
50.
'Nach Zeigeroptionen bewegen und bestätigen 
51.
Cursor_bewegen_nach tPoint.x + 30, tPoint.y + 150 
52.
SendMausklick MOUSE_LEFT 
53.
Wo_ist_die_Maus 
54.
'Nach Pfeiloptionen bewegen und bestätigen 
55.
Cursor_bewegen_nach tPoint.x + 220, tPoint.y + 180 
56.
SendMausklick MOUSE_LEFT 
57.
Wo_ist_die_Maus 
58.
'Nach Sichtbar bewegen und bestätigen 
59.
Cursor_bewegen_nach tPoint.x - 100, tPoint.y + 20 
60.
SendMausklick MOUSE_LEFT 
61.
End Sub 
62.
 
63.
Sub Wo_ist_die_Maus() 
64.
Dim x As Long 
65.
x = GetCursorPos(tPoint) 
66.
End Sub 
67.
 
68.
Sub Cursor_bewegen_nach(xziel As Long, yziel As Long) 
69.
Dim x As Long, y As Long, n As Long 
70.
x = xziel 
71.
y = yziel 
72.
n = SetCursorPos(x, y) 
73.
End Sub 
74.
 
Willst du dir das mal genau anschauen, kommentier das letzte "SendMausklick MOUSE_LEFT" einfach aus...

Gruß

Markus
Bitte warten ..
Mitglied: thedani
19.05.2007 um 12:21 Uhr
gibt es villeicht auch die Möglichkeit, das Makro nach z.B. 10 sekunden automatisch ausführen zu lassen?
Bitte warten ..
Ähnliche Inhalte
Java
Tastatureingabe
Frage von tobmesJava1 Kommentar

Hi Experten, bin leider kein guter Programmieren und mit Java kenne ich mich auch nicht sonderlich aus. Habe da ...

Visual Studio
Tastatureingaben abfangen
gelöst Frage von joehuabaVisual Studio7 Kommentare

Hallo Zusammen, ich hab folgendes Problem: Ich fange mit einem Programm bestimmte Tastenkombinationen ab. Das funktioniert auch soweit. Allerdings ...

Pascal und Delphi

Blinkenden Cursor (von Tastatureingabe) ausschalten

Frage von KriegstreiberPascal und Delphi1 Kommentar

Servus Leute, Ich habe ein Script was mir mehrere Ergebnisse in Checkboxen anzeigt. Die Box sieht wie folgt aus: ...

Windows 10

Keine Tastatureingabe in Systemapps möglich

Frage von OSIlayer8Windows 10

Hallo Community, mein Problem : Keine Tastatureingabe in Windows 10 Systemapps sowie Windows 10 Startmenu . Beispiel die App ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 11 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...