vb api製作總在最前的窗體

2021-03-31 08:56:57 字數 1759 閱讀 6216

第一步使用vb開啟工程如圖

第二步在工程中窗體中加入check控制項

第三步:新增模組1,在其中使用外界程式中的api瀏覽器新增如下**

public declare function setwindowpos lib "user32" _

( _byval hwnd as long, byval hwndinsertafter as long, _

byval x as long, byval y as long, byval cx as long, _

byval cy as long, byval wflags as long) as long

'以上為api函式宣告

public const hwnd_topmost = -1

public const swp_nomove = &h2

public const swp_nosize = &h1

public const swp_framechanged = &h20

'the frame changed: send wm_nccalcsize

public const swp_drawframe = swp_framechanged

'以上為程式中用到的常量

public const hwnd_bottom = 1

public const hwnd_broadcast = &hffff&

public const hwnd_desktop = 0

public const hwnd_notopmost = -2

public const hwnd_top = 0

public const swp_hidewindow = &h80

public const swp_noactivate = &h10

public const swp_nocopybits = &h100

public const swp_noownerzorder = &h200

'don't do owner z ordering

public const swp_noredraw = &h8

public const swp_noreposition = swp_noownerzorder

public const swp_nozorder = &h4

public const swp_showwindow = &h40

'以上常量宣告在程式中沒有使用

'可以試著在呼叫setwindowpos函式時使用這些常量或它們的組合

'得到其他效果

public const flags = swp_drawframe or swp_nomove or swp_nosize

第四步 然後在check1控制項中新增如下的**

private sub check1_click()

dim res as long

if check1.value = 1 then

res = setwindowpos(me.hwnd, hwnd_topmost, _

0, 0, 0, 0, flags)

else

res = setwindowpos(me.hwnd, hwnd_notopmost, _

0, 0, 0, 0, flags)

end if

end sub

用於控制窗體是否總是在前.

第五步:可執行,看你的運氣是否不錯.

如何讓窗體總在桌面最前面顯示

呼叫api函式setwindowpos可達到這一目的。該函式的語法是 setwindowpos hwnd,hwndinsetafter,x,y,cx,xy,wflags 其中 hwnd 窗體的控制代碼 handle hwndinsetafter 它就是決定是否 總在前 的引數,應用中設定為 hwnd...

找到當前Windows顯示的最前端的窗體程式

最近幫朋友做乙個監控程式,需要知道當前系統的最前端程序。搜了半天,一般出來的是下面這個。dllimport user32 charset charset.ansi,setlasterror true private extern static intgetwindowlong system.intp...

WindowsForm登陸窗體的製作

論壇中vb版裡經常見到一些朋友問到關於登陸的問題,這篇文章專門為初學的朋友提供一些幫助,當然希望有更好辦法的高手給予指點。首先 檔案 新建 專案 選擇windows應用程式 並在窗體上新增2個label控制項 2個textbox控制項 2 個buton控制項如下圖 1 1 介面設計好後在button...