Manage Learn to apply best practices and optimize your operations.

Retrieve The Clipboard Text Into Your Lotusscript

Ever wanted to retrieve the clipboard text into your LotusScript, well here's
Note: I currently use this to create seemless links between the Browser and a
local Notes Client Session.
Declare Function OpenClipboard Lib "User32" (Byval hwnd As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function GetClipboardData Lib "User32" (Byval wFormat As Long) As Long
Declare Function GlobalLock Lib "kernel32" (Byval hMem As Long) As Long
Declare Function GlobalUnlock Lib "kernel32" (Byval hMem As Long) As Long
Declare Function lstrcpy Lib "kernel32" (Byval lpString1 As String, Byval
lpString2 As Any) As Long

Function ClipBoard_GetData() As String
' This function will return the text currently in the Windows 95/NT
' It will return an empty string if there is an image in the clipboard
Dim hClipMemory As Long
Dim lpClipMemory As Long
Dim MyString As String *4096
Dim TrimmedString As String
Dim RetVal As Long
Dim returnInt As Integer

Const CF_TEXT = 1
Const MAXSIZE = 4096

If OpenClipboard(0&) = 0 Then
Msgbox "Cannot open Clipboard. Another application may have it open"
Exit Function
End If

' Obtain the handle to the global memory block that is referencing the
hClipMemory = GetClipboardData(CF_TEXT)
If hClipMemory = 0 Then
Msgbox "Could not allocate memory."
Goto OutOfHere
End If

' Lock Clipboard memory so we can reference the actual data string.
lpClipMemory = GlobalLock(hClipMemory)

If lpClipMemory <> 0 Then
MyString = Space$(MAXSIZE)
RetVal = lstrcpy(MyString, lpClipMemory)
RetVal = GlobalUnlock(hClipMemory)
MyString = Mid(MyString, 1, Instr(1, MyString, Chr$(0), 0) - 1) '
Strip off the null terminating character.
TrimmedString = Trim(MyString)
Msgbox "Could not lock memory to copy string from."
End If

RetVal = CloseClipboard()
ClipBoard_GetData = TrimmedString

End Function

Dig Deeper on Domino Resources - Part 6



  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...