Private Sub Form_Load()
Dim a
a = Shell("calc.exe", 1)
AppActivate a
End Sub
这段代码我在xp下运行没问题,但是在windows7下就提示“无效的过程调用或参数”,怎么回事呢?
Dim a
a = Shell("calc.exe", 1)
AppActivate a
End Sub
这段代码我在xp下运行没问题,但是在windows7下就提示“无效的过程调用或参数”,怎么回事呢?
解决方案 »
- 请问VB的timer 如何防 变速齿轮
- 在线等!!在DATAREPORT中能够通过编程实现选择字段进行报表的输出和打印吗?
- 高分,急!关于ORACLE数据库BLOB类型字段连续存入数据库的问题
- 请问各位,在VB里怎样实现DVD的播放功能?用什么第三方的控件呢?急,请告之,谢谢!
- 我想用串口连一个modem芯片,有没有谁做过这样的设计?
- 请教图象中调整对比度的的算法(急!!!)
- VBA字符串赋值超过255字符怎么处理?
- 用InternetReadFileByte下载文件的困惑。
- 不用控件的hwnd属性,如何得到指定控件的指针(句柄)?
- 如何在VB开发的应用程序中调用动画光标?
- 怎么创建多个进程?
- VB DLL的winsock问题
AppActivate 语句
激活一应用程序窗口。语法AppActivate title[, wait]AppActivate 语句的语法具有以下几个命名参数:部分 描述
title 必需的。字符串表达式,所要激活的应用程序窗口的标题。可以使用 Shell 函数返回的任务识别码来替换 title,以激活应用程序。
wait 可选的。Boolean 值,说明在激活另一个应用程序之前调用的应用程序是否有焦点。如果为 False(缺省),那么,即使调用的应用程序没有焦点,也直接激活指定的应用程序。如果为 True,则调用的应用程序会等到有焦点后,才激活指定的应用程序。
说明AppActivate 语句将焦点移动到命名的应用程序或窗口,但并不影响焦点是否最大化或最小化。当用户采取行动改变焦点或将窗口关闭时,就会将焦点从活动的应用程序窗口移动出去。可用 Shell 函数启动一个应用程序并设置窗口样式。在决定激活哪个应用程序时,请将 title 与每一个运行中的应用程序的标题字符串进行比较。如果没有完全匹配,就激活任何这样的应用程序,其标题字符串以 title 开头。如果以 title 命名的应用程序有很多实例,则激活任何一个实例。
Option Explicit
Private Sub Command1_Click()
Call Shell("calc.exe", vbNormalFocus)
AppActivate "计算器" '让计算器获得焦点
End Sub
试看这个, Win7我以前用过,代码中也用到了 AppActivate都很正常
Option Explicit
Dim ProcID&
Private Sub Command1_Click()
ProcID = Shell("calc.exe", vbNormalFocus) '打开计算器
End SubPrivate Sub Command2_Click()
AppActivate ProcID '让此进程ID获得焦点
End Sub
定义长整变量值得一试。dim a as long