帮帮忙大哥!

oandy 2001-08-06 02:11:23
以下是网上发布的vb中Always On Top 借 助 Windows API的 SetWindowPos实 现 语句 。


Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_SHOWWINDOW = &H40
Private Declare Function SetWindowPos Lib _
"user32" Alias "SetWindowPos" (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
'使 窗 口 Always On Top用
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _
Or SWP_NOSIZE
'使 窗 口 取 消 Always On Top功 能 , 用
'SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
'SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _
'Or SWP_NOSIZE


请问为什么运行时在“SetWindowPoshWnd hwnd,”处出现错误:“编译错误:无效外部过程”。我怎么才能改正?以上这些语句拷下来就可以了吗,要不要添加什么语句啊,希望专家给我回复,我将感激不尽!
...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
oandy 2001-08-06
  • 打赏
  • 举报
回复
好了,大哥我搞好了,谢谢了,哈哈!!!!
oandy 2001-08-06
  • 打赏
  • 举报
回复
各位大哥,首先小弟有礼了,但为什么照你们的方法做还是老毛病啊,难道是我的vb光盘出问题了么?可是我又买了一张还是一样啊:“编译错误:无效外部过程”。我非常着急!!!你们还有什么其他高招能达到Always On Top 吗?
另外,dick8125朋友的程序能通过但是不能达到Always On Top 的功能。
reinly 2001-08-06
  • 打赏
  • 举报
回复
在句柄前使用me
就是me.hwnd
virtualboy 2001-08-06
  • 打赏
  • 举报
回复
把 Private Declare Function SetWindowPos Lib _
 "user32" Alias "SetWindowPos" (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
写在函数外。
leskey 2001-08-06
  • 打赏
  • 举报
回复

这一段代码没有任何问题,我已经试了一下,我就是拷贝的你的代码.
你再看一下你有没有在你机器上将代码写错了,或是修改错了
wbdx 2001-08-06
  • 打赏
  • 举报
回复
你的代码没有问题啊

只是注意 你的 hwnd 要改为 me.hwnd 或者 form1.hwnd(假设是 form1)
dick8125 2001-08-06
  • 打赏
  • 举报
回复
Private 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

Private Sub Command1_Click()
ret = SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3)
End Sub

Private Sub Command2_Click()
ret = SetWindowPos(Me.hwnd, -2, 0, 0, 0, 0, 3)
End Sub



要那么麻烦干什么名啊?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧