Zwischenablage mit Api Funktionen

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

morszeck

Gast

Betreff: Zwischenablage mit Api Funktionen

BeitragSa, Feb 14, 2004 20:31
Antworten mit Zitat
Global GetBank
Const GHND = $42
Const CF_TEXT=1
Const MAXSIZE=$FFFFFF

SetClipBoardText$("Hallo Welt !")
Print GetClipBoardText$()
Delay 4000
End


Function SetClipBoardText$(sText$)
Local hMem,hAdr

OpenClipboard(0);öffnen
EmptyClipboard();leeren

;Den Globalen Speicherblock allokieren
hMem = GlobalAlloc(GHND, Len(sText$) + 1)

;Den Zeiger auf den Globalen Speicherblock setzen und den Speicherblock
;für andere Progs sperren
hAdr = GlobalLock(hMem)

;unseren String in den Speicherblock kopieren
lstrcpy1(hAdr, sText$)

;Den Speicherblock wieder freigeben
GlobalUnlock(hMem)

;Den Speicherblock in die Zwischenablage schieben
If SetClipboardData(CF_TEXT, hMem) = 0 Then
Return "Fehler beim Setzen der Daten in die Zwischenablage!"
GlobalFree(hMem);freigeben
End If

CloseClipboard();schliessen
End Function



Function GetClipboardText$()
Local hData,hAdr
If IsClipboardFormatAvailable(CF_TEXT)=0 Then Return ""

OpenClipboard(0)
hData=GetClipboardData(CF_TEXT)
hAdr=GlobalLock(hData)
GetBank=CreateBank(MAXSIZE)
lstrcpy(GetBank,hAdr)
GlobalUnlock(hData)
CloseClipboard()
Return PeekString$(GetBank)
End Function


Function PeekString$(bank,offset=0)
Repeat
zeichen=PeekByte(bank,offset)
If zeichen=0 Then Exit
t$=t$+Chr$(zeichen)
offset=offset+1
Forever
Return t$
End Function

;userlibs
;.lib "kernel32.dll"
;lstrcpy1%(lpString1%, lpString2$):"lstrcpy"
;lstrcpy%(lpString1*, lpString2%): "lstrcpy"
;GlobalAlloc%(wFlags%, dwBytes%):"GlobalAlloc"
;GlobalLock%(hMem%):"GlobalLock"
;GlobalUnlock%(hMem%):"GlobalUnlock"
;GlobalSize%(hMem%):"GlobalSize"
;GlobalFree%(hMem%):"GlobalFree"

;.lib "user32.dll"
;GetClipboardData%(wFormat%):"GetClipboardData"
;CloseClipboard%():"CloseClipboard"
;OpenClipboard%(hwnd%):"OpenClipboard"
;SetClipboardData%(wFormat%, hMem):"SetClipboardData"
;EmptyClipboard%():"EmptyClipboard"
;IsClipboardFormatAvailable%(wFormat%):"IsClipboardFormatAvailable"
 

OJay

BeitragSa, Feb 14, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
1. code tags
2. geht das kürzer
3. falsches forum (userlibs!)
4. https://www.blitzforum.de/viewtopic.php?p=13431

Razz

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group