我用shell调用软件.exe发现有的软件就能正常显示在屏幕中如一些成熟软件qq等,但是有的软件却只能显示在任务栏中,就是最小化状态,比如用vb写好编译的.exe可执行文件还有我用NSIS制作的安装包。这样的话感觉很不方便 可以设置吗?谢谢
解决方案 »
- 看人家写的 rs ! 。。。。 后面一堆那是什么意思?
- 急!!用代码自动登陆局域网中的其它计算机的api是什么
- 请问Setup Factory打包的时候,怎样把一个EXE程序最小化?
- 改变分辨率后有个窗体的内容就看不见了
- 高手请教有关用VB开发WEB方面的基本问题
- 谁知道如何在vb应用中实现ie的加入收藏夹功能啊?
- 数据库表字段名设定为汉字,有何利弊?谢谢
- 关于ole的问题???/
- 那位大侠有没有mci的详细资料,能不能给邮寄一份?还有用什么方法控制播放vcd时声道输出?就像超解左右声道选择那样的效果?我得信箱:[email protected]
- 关于 VisualBasic DAO 求助
- 为什么Timer控件失效
- 急!!VB做的FLASH动画如何设快捷键启动
执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。语法Shell(pathname[,windowstyle])Shell 函数的语法含有下面这些命名参数:部分 描述
pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。
Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。
windowstyle 命名参数有以下这些值:常量 值 描述
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
说明如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数
它有一个参数,是调用的程序显示状态。
你肯定是以最小化启动的。
参数为1就正常了。
Shell("C:\WINDOWS\CALC.EXE", 1)
NSIS脚本如下; 该脚本使用 HM VNISEdit 脚本编辑器向导产生; 安装程序初始定义常量
!define PRODUCT_NAME "shiyan"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "My company, Inc."
!define PRODUCT_WEB_SITE "http://www.mycompany.com"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\人民币反假宣传工作站.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"SetCompressor lzma; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
!define MUI_FINISHPAGE_RUN "$INSTDIR\人民币反假宣传工作站.exe"
!insertmacro MUI_PAGE_FINISH; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "SimpChinese"; 安装预释放文件
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES\shiyan"
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails showSection "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "升级后\人民币反假宣传工作站.exe"
SectionEndSection -AdditionalIcons
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
CreateDirectory "$SMPROGRAMS\shiyan"
CreateShortCut "$SMPROGRAMS\shiyan\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
CreateShortCut "$SMPROGRAMS\shiyan\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEndSection -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\人民币反假宣传工作站.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\人民币反假宣传工作站.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd/******************************
* 以下是安装程序的卸载部分 *
******************************/Section Uninstall
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\人民币反假宣传工作站.exe" Delete "$SMPROGRAMS\shiyan\Uninstall.lnk"
Delete "$SMPROGRAMS\shiyan\Website.lnk" RMDir "$SMPROGRAMS\shiyan" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEndFunction un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd