Dave Navarro, Jr. (dave@powerbasic.com) COPY TEXT FILE TO CLIPBOARD ------------------------------------------------------------------------------ '=========================================================================== ' ' CLIPTEXT.BAS for PB/CC 1.0 ' Copyright (c) 1997 by PowerBASIC, Inc. ' ' Copy text file specified on the command line into the clipboard for ' pasting. ' '=========================================================================== $INCLUDE "WIN32API.INC" FUNCTION PbMain () AS LONG LOCAL Buffer AS STRING LOCAL Temp AS STRING LOCAL File AS STRING LOCAL hGlob AS LONG LOCAL hData AS LONG File = REMOVE$(COMMAND$, CHR$(34)) ' ** Check for existence of file IF (LEN(DIR$(File)) = 0) AND (CONSIN = -1) THEN PRINT "CLIP.EXE - Copy a text file into the clipboard" PRINT "Copyright (c) 1998,99 by PowerBASIC, Inc." PRINT PRINT "Error! File not found: " + CHR$(34) + COMMAND$ + CHR$(34) EXIT FUNCTION END IF ' ** Open the file and read in its contents IF CONSIN THEN OPEN File FOR BINARY AS #1 GET$ 1, LOF(1), Buffer CLOSE 1 ELSE WHILE NOT STDEOF STDIN LINE Temp Buffer = Buffer + Temp + CHR$(13, 10) WEND END IF Buffer = Buffer + CHR$(0) ' ** Create a global memory object and copy the data into it hData = GlobalAlloc(%GMEM_MOVEABLE OR %GMEM_DDESHARE, LEN(Buffer)) hGlob = GlobalLock(hData) POKE$ hGlob, Buffer GlobalUnlock hData ' ** Open the clipboard IF ISFALSE(OpenClipboard(%NULL)) THEN PRINT "Error! Unable to open clipboard!" GlobalFree hData EXIT FUNCTION END IF ' ** Paste the data into the clipboard EmptyClipboard SetClipboardData %CF_TEXT, hData CloseClipboard END FUNCTION