Thread: KeyCode
View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default KeyCode

So it's impossible to copy/paste anything when you code is running ?

NickHK

"Francis Ang" wrote in message
...
I won't know when the user press PrtScr. The code will run continuously

and
clear the clipboard. This code takes about 1% or less of the CPU

resources.
This is how I use the code.

Sub YourCode

StartTimer

Your other codes ...

End Sub

I must say this is not the best way to do it, but I achived my objective.

"NickHK" wrote:

So how do you know when the user pressed PrtScr ?

NickHK

"Francis Ang" wrote in message
...
Here is the code ...

Declare Function CloseClipboard Lib "user32" () As Long
Declare Function EmptyClipboard Lib "user32" () As Long
Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As

Long

Public RunWhen As Double
Public Const cProc = "ClrSub"

Sub ClearClipboard()
OpenClipboard 0&
EmptyClipboard
CloseClipboard
End Sub

Sub StartTimer()

RunWhen = Now + TimeSerial(0, 0, 1)
Application.OnTime earliesttime:=RunWhen, procedu=cProc, _
schedule:=True

End Sub


Sub ClrSub()

ClearClipboard
StartTimer

End Sub


"NickHK" wrote:

Can you post the code.

NickHK

"Francis Ang" wrote in

message
...
Thanks a lot guys for all your help.

Just for your information, I have managed to circumvent the

'PrtScr'
issue
by using a timer and clear clipboard procedures.

"NickHK" wrote:

I'm guessing this is connected to the OP's previous request to

prevent
PrtScr rather than call it.

NickHK

"Halim" wrote in message
...
Hi,
If you want to capture the screen, maybe more simple if use
API calls :
Option Explicit

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As

Byte,
ByVal
_
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As

Long)

Private Const VK_SNAPSHOT = &H2C

Sub PRTSCR()
keybd_event VK_SNAPSHOT, 1, 0, 0
End Sub

Rgds,

Halim

"Francis Ang" wrote:

The keys on a keyboard are assigned with 'KeyCode'. Is

there a
KeyCode
for
'PrtScr'? I cannot seem to find this KeyCode. If there is

no
such
KeyCode,
can VBA codes detect when the 'PrtScr' key is pressed?

Thanks.