| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2879 人关注过本帖
标题:[求助]如何用shell启动的程序不显示出来.就像用了hide属性一样!
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用purana在2006-12-8 20:08:18的发言:
Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Shell "Calc.exe", vbHide
End Sub

Private Sub Command2_Click()
Dim calcHwnd As Long
calcHwnd = FindWindow(vbNullString, "计算器")
If calcHwnd <> 0 Then
ShowWindow calcHwnd, SW_HIDE
End If
End Sub

可不可以给出showwindow的所有常数,像隐藏窗体是"0"其它的是什么?谢谢!


/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-09 11:18
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
自己在api浏览器上找.

我的msn: myfend@
2006-12-09 11:19
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用purana在2006-12-8 20:08:18的发言:
Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Shell "Calc.exe", vbHide
End Sub

Private Sub Command2_Click()
Dim calcHwnd As Long
calcHwnd = FindWindow(vbNullString, "计算器")
If calcHwnd <> 0 Then
ShowWindow calcHwnd, SW_HIDE
End If
End Sub

为什么隐藏不了cmd.exe(即DOS 窗口)?


/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-09 11:30
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

使用spy++得知cmd窗口的类名是ConsoleWindowClass

那通过FindWindow api就可以查找到该窗口

Option Explicit
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Dim calcHwnd As Long
calcHwnd = FindWindow("ConsoleWindowClass", vbNullString)
If calcHwnd <> 0 Then
ShowWindow calcHwnd, SW_HIDE
End If
End Sub


我的msn: myfend@
2006-12-09 11:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
请问怎么使用spy++来查到的?谢谢

/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-09 11:47
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

学好基础吧..这些..还不是你现在要学的.


我的msn: myfend@
2006-12-09 11:50
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
呵呵...如果不综合地去学跟本发现不了问题,我就是这样学的,,,所以我发现了很问题..然而又解决了很多问题!

/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-09 12:06
wsz_1983
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-12-11
收藏
得分:0 
purana


能认识下你吗?

怎么就感觉你是偶的偶像呢?
2006-12-11 15:47
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
..........当然可以.

我的msn: myfend@
2006-12-11 18:02
banchao1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-5-30
收藏
得分:0 

我是初学的~哎 好东西.... 就是看不懂

2007-06-19 17:31
快速回复:[求助]如何用shell启动的程序不显示出来.就像用了hide属性一样!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012257 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved