作者chinoyan (chino)
看板Visual_Basic
标题Re: [VB6 ] 关闭指定视窗
时间Tue Feb 9 02:06:14 2010
※ 引述《cumo ()》之铭言:
: 有个关於关闭指定视窗的问题想请问各位大大
: 我的程式要去关闭某一个由IE开启的网页
: 我是先用FindWindow去找到该网页的hwnd
: 然後由此hwnd去关闭该网页
: 我的程式如下:
你是要关掉 视窗 不是吗??
: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
: ByVal lpClassName As String, _
: ByVal lpWindowName As String _
: ) As Long
以下的 API 根本用不到
: Private Declare Function DestroyWindow Lib "user32" ( _
: ByVal hwnd As Long _
: ) As Long
: Private Declare Function MoveWindow Lib "user32" ( _
: ByVal hwnd As Long, _
: ByVal x As Long, _
: ByVal y As Long, _
: ByVal nWidth As Long, _
: ByVal nHeight As Long, _
: ByVal bRepaint As Long _
: ) As Long
: Private Declare Function ShowWindow Lib "user32" ( _
: ByVal hwnd As Long, _
: ByVal nCmdShow As Long _
: ) As Long
你要 宣告 POSTMESSAGE API
Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Public Const WM_CLOSE = &H10
: Dim myhwnd As Long
: Private Sub Command1_Click()
: myhwnd = FindWindow(vbNullString, "XXXXXXXXXXXXX")
: MsgBox myhwnd
: End Sub
: Private Sub Command2_Click()
: DestroyWindow myhwnd
: 'MoveWindow myhwnd, 20, 50, 800, 600, 1
: 'ShowWindow myhwnd, 0
看不懂,你要关 ,为什麽又要 MOVE 又要SHOW ?
POSTMESSAGE &H10 给 指定的HWND不就好了???
PostMessage myhwnd, WM_CLOSE, 0&, 0&
: End Sub
: 1.当我按command1时,该网页的hwnd数值有出现,但我按了command2时,
: 该视窗都不会关闭,写成Call DestroyWindow (myhwnd)也是一样,
: 但是如果是执行MoveWindow或ShowWindow时却都没问题
: 2.当我在测试MoveWindow时,如果该视窗最小化到工具列时,除非第一次执行该程式,
: 不然也都没有作用,不会按照我设定的数值呈现
: 请问这是哪里出了问题呢
: 找了很多方法(用postmessage与sendmessage...)都没有用
: 谢谢
--
████ █ ★ ████ █ █ █
█ █ █ █ █ █ 超 级 热 烈 欢 迎
█ ████ █ █ █ ████ █
█ █ █ █ ███★ █ █ 欢迎到嘉义版!
★███ █ █ █ █ █ █ █
讯驰电脑-路径 →
嘉义市林森西路496号 →
(05)2244-526 →
顺发斜对面
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.214.220
※ 编辑: chinoyan 来自: 220.133.214.220 (02/09 02:07)
1F:推 cumo:谢谢你的回答~请问为什麽不能用destroywindow这个function 02/09 08:47