Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REM TopMost.bat
- REM This file compiles TopMost.vb to TopMost.exe
- REM TopMost.exe sets a window on top or not
- REM To use
- REM TopMost Top <Windowtitle>
- REM TopMost Not <Windowtitle>
- REM E.G.
- REM TopMost Top Untitled - Notepad
- "C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:winexe /out:"%~dp0\TopMost.exe" "%~dp0\TopMost.vb" /verbose
- pause
- --------------------------------------------------
- 'TopMost.vb
- Imports System
- Imports System.IO
- Imports System.Runtime.InteropServices
- Imports Microsoft.Win32
- Public Module TopMost
- Public Declare UNICODE Function FindWindowW Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
- Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As IntPtr, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
- Public Const HWND_TOPMOST = -1
- Public Const SWP_NOMOVE = &H2
- Public Const SWP_NOSIZE = &H1
- Public Const HWND_NOTOPMOST = -2
- Sub Main()
- On Error Resume Next
- Dim hWindows as IntPtr
- Dim CmdLine as String
- Dim Ret as Integer
- CmdLine = Mid(Command(),5)
- hwindows = FindWindowW(vbNullString, CmdLine)
- If hwindows = 0 then
- Msgbox(Cmdline & " cannot be found.")
- Else
- If LCase(Left(Command(), 3)) = LCase("Top") then
- Ret = SetWindowPos(hwindows, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE)
- If Ret = 0 Then MsgBox("Set Pos Error is " & Err.LastDllError)
- ElseIf LCase(Left(Command(), 3)) = LCase("Not") then
- Ret = SetWindowPos(hwindows, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE)
- If Ret = 0 Then MsgBox("Set Pos Error is " & Err.LastDllError)
- Else
- Msgbox("Command line not recognised")
- End If
- End If
- End Sub
- End Module
Advertisement
Add Comment
Please, Sign In to add comment