Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REM PrintClip.bat #2 Also does filenames on the clipboard
- REM This file compiles PrintClip.vb to PrintClip.exe
- REM PrintClip.exe prints any text or filenames on the clipboard to a console
- REM To use
- REM PrintClip
- "C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:exe /out:"%~dp0\PrintClip.exe" "%~dp0\PrintClip.vb" /verbose
- pause
- -------------------------------------------------
- 'PrintClip.vb #2
- Imports System
- Imports System.IO
- Imports System.Runtime.InteropServices
- Imports Microsoft.Win32
- Public Module PrintClip
- Public Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Integer) As Integer
- Public Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Integer) As IntPtr
- Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As IntPtr) As Integer
- Public Declare Function CloseClipboard Lib "user32" () As Integer
- Public Declare UNICODE Function DragQueryFileW Lib "shell32.dll" (ByVal HDROP As Integer, ByVal UINT As Integer, ByVal lpStr As String, ByVal ch As Integer) As Integer
- Public Const CF_TEXT = 1
- Public Const CF_BITMAP = 2
- Public Const CF_METAFILEPICT = 3
- Public Const CF_SYLK = 4
- Public Const CF_DIF = 5
- Public Const CF_TIFF = 6
- Public Const CF_OEMTEXT = 7
- Public Const CF_DIB = 8
- Public Const CF_PALETTE = 9
- Public Const CF_PENDATA = 10
- Public Const CF_RIFF = 11
- Public Const CF_WAVE = 12
- Public Const CF_UNICODETEXT = 13
- Public Const CF_ENHMETAFILE = 14
- Public Const CF_HDROP = 15
- Public Const CF_OWNERDISPLAY = &H80
- Public Const CF_DSPTEXT = &H81
- Public Const CF_DSPBITMAP = &H82
- Public Const CF_DSPMETAFILEPICT = &H83
- Public Const CF_DSPENHMETAFILE = &H8E
- Sub Main()
- ' On Error Resume Next
- Dim Ret as IntPtr
- If OpenClipboard(0) <> 0 then
- If IsClipboardFormatAvailable(CF_UNICODETEXT) <> 0 then
- Ret = GetClipboardData( CF_UNICODETEXT)
- Console.writeline(Marshal.PtrToStringUni(Ret))
- Environment.ExitCode = 0
- ElseIf IsClipboardFormatAvailable(CF_hDrop) <> 0 then
- Dim TotalCount as Integer
- Dim FName as String
- Dim hDrop as IntPtr
- hDrop = GetClipboardData( CF_hDrop)
- FName = Space(33000)
- TotalCount = DragQueryFileW(hDrop, &hFFFFFFFF, FName, 33000)
- For x = 0 to TotalCount - 1
- FName = Space(33000)
- If DragQueryFileW(hDrop, x, FName, 33000) <> 0 then
- Console.writeline(Trim(FName))
- End If
- Next
- Environment.ExitCode = 0
- Else
- Environment.ExitCode = 1
- Console.writeline("No text or filenames on clipboard")
- End If
- CloseClipboard()
- Else
- Environment.ExitCode = err.lastdllerror
- Console.Writeline("Clipboard is locked by another application")
- End If
- End Sub
- End Module
- Module
Advertisement
Add Comment
Please, Sign In to add comment