Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie mit VBA die PrintScreen-Taste deaktivieren?

Wie mit VBA die PrintScreen-Taste deaktivieren?
11.07.2003 13:17:19
Stephan
Hallo!
Ich möchte gerne verhindern, dass von einem Tabellenblatt eine Bildschirm-Hardcopy mit Hilfe der Tasten [ALT]+[Druck] bzw. [ALT]+[PRTSCR] erstellt werden kann.
Habe es schon mit Application.OnKey "{PRTSC}", "" und Application.OnKey "%{PRTSC}", "" versucht - Excel beschwert sich nicht, aber fängt auch den Screenshot nicht ab.
Was ist falsch? Hat jemand einen anderen Ansatz?
Gruß, Stephan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie mit VBA die PrintScreen-Taste deaktivieren?
11.07.2003 13:23:13
Michael Scheffler
Hi,
wen überhaupt, dann mit API. Aber wozu - es gibt genügend Programme, die Dir den Bildschirminhalt Capturen. Da ist jegliche Mühe umsonst.
Gruß
Micha

AW: Wie mit VBA die PrintScreen-Taste deaktivieren?
11.07.2003 14:24:14
Stephan
Hallo Micha,
natürlich ist mir klar, dass es zahlreiche Möglichkeiten und Programme zur Hardcopy-Erstellung gibt - ich möchte nur diesen sehr einfachen Weg blockieren, der jetzt von jedem x-beliebigen Nutzer an jedem PC im Unternehmen ganz einfach zur Weitergabe sensibler Daten genutzt werden kann.
Die Installation von Capture-Software ist bei uns nicht direkt möglich, da die User nur Zugriff auf ihre Netzlaufwerke haben (CD-ROM- oder Disketten-Laufwerke gibt es bei dem betroffenen Nutzerkreis nicht, da es Client-Server-Lösungen sind).
Wenn es also per API möglich wäre, hat eventuell jemand einen passenden Quellcode?
Gruß, Stephan

Anzeige
AW: Wie mit VBA die PrintScreen-Taste deaktivieren?
11.07.2003 16:25:26
Michael Scheffler
Hi.
unter Verwendung einiger Versatzstücke aus dem Netz und dem API-Guide - eine Form mit zwei Buttons:
Option Explicit
Private Const MOD_ALT = &H1
Private Const MOD_CONTROL = &H2
Private Const MOD_SHIFT = &H4
Private Const PM_REMOVE = &H1
Private Const WM_HOTKEY = &H312
Private Const KC = 104
Private Const KC_ALT = 105
Private Const KC_CTRL = 106
Private Const VK_SNAPSHOT = &H2C
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type Msg
hWnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Private Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal id As Long) As Long
Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As Msg, ByVal hWnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long
Private bCancel As Boolean

Private Sub ProcessMessages()
Dim Message As Msg
'loop until bCancel is set to True
Do While Not bCancel
'wait for a message
WaitMessage
'check if it's a HOTKEY-message
If PeekMessage(Message, 0, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) Then
'minimize the form
'WindowState = vbMinimized
End If
'let the operating system process other events
DoEvents
Loop
End Sub


Private Sub cmdAus_Click()
Call RegisterHotKey(0, KC_ALT, MOD_ALT, VK_SNAPSHOT)
Call RegisterHotKey(0, KC_CTRL, MOD_CONTROL, VK_SNAPSHOT)
Call RegisterHotKey(0, KC, 0, VK_SNAPSHOT)
DoEvents
End Sub


Private Sub cmdEin_Click()
Call UnregisterHotKey(0, KC_ALT)
Call UnregisterHotKey(0, KC_CTRL)
Call UnregisterHotKey(0, KC)
DoEvents
End Sub

Gruß
Micha

Anzeige
AW: Wie mit VBA die PrintScreen-Taste deaktivieren?
11.07.2003 18:58:46
Stephan
Hallo Micha!
Herzlichen Dank für Deine Hilfe - es funktioniert einwandfrei!
Gruß, Stephan

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige