社区
VFP
帖子详情
如何隐藏运行run命令时一闪而过的窗口
lainY7mail
2010-01-14 05:21:00
如何隐藏运行run命令时一闪而过的窗口
...全文
847
6
打赏
收藏
如何隐藏运行run命令时一闪而过的窗口
如何隐藏运行run命令时一闪而过的窗口
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mdsorphen
2010-02-09
打赏
举报
回复
原来RUN还可以有这种方式的,受教了
十豆三
2010-01-15
打赏
举报
回复
最好是API等方式:
如:
在VFP中如何调用其它程序
-------------------------------------------------------------
Declare Long WinExec In kernel32 String,Long
=WinExec("notepad.exe",0)
Clear Dlls
WinExec(one.exe,SW_SHOW);
里面的SW_SHOW意思是什么
WinExec()函数第二个参数是什么意思
如果我想以无参数运行one.exe应该怎么办??
SW_SHOW表示以当前大小激活运行后的程序窗口并显示它。
第二个参数是控制程序主窗口的显示方式
第二个参数可能的取值为 :
************************* 窗口指定可视性定义 **********************************API函数ShellExecute中最后一个参数及wscript.shell方法中的第2个参数也是这样定义的。
0 SW_HIDE 隐藏窗口,活动状态为原调用窗口
6 SW_MINIMIZE 最小化窗口,活动状态为原调用窗口
9 SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
5 SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
3 SW_SHOWMAXIMIZED 最大化窗口,并将其激活
2 SW_SHOWMINIMIZED 最小化窗口,并将其激活
7 SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
8 SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
4 SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
1 SW_SHOWNORMAL 与SW_RESTORE相同
****************************************************************************
一般情况下,第二个参数取SW_SHOWNORMAL即可,这样就是无参数运行App.exe
WinExec("App.exe -参数" , SW_SHOWNORMAL);第二个参数只是WinExec函数的参数,不是AppName.exe的参数。
或
ox=Createobject("wscript.shell")
ox.Run("notepad.exe",1) &&第2个参数参考上面《窗口指定可视性定义》
Release ox
或
在VFP中我们可以用run来调用由VFP自身生成的.exe文件。命令格式:
run c:\..\*.exe
当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。
一般来说,用VFP运行非VFP自身生成的可执行文件时,会有一个黑色的窗口显示一下。可以通过加上/n来隐藏这个窗口。例如运行Windows下的扫雷游戏,命令格式如下:
RUN/n C:\Windows\Winmine.exe
下面运行一个更复杂一点的程序。用word打开c:\下的一个名为mlx.doc的word文件,命令格式如下:
run /n3 C:\Program Files\Microsoft Office\Office\Winword.exe C:\mlx.doc
参数:n 在运行时隐藏VFP的黑色窗口。
3 表示以最大化的方式运行程序。0隐藏窗口、1正常方式、2最小化方式、3最大化方式
在这种情况下,虽然可以通过加上参数使程序程序能够流畅运行,但还是要指定绝对路径,而在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其绝对路径。比如,在上例中,我们无法确定用户的word到底安装在什么地方,如果用户把word安装到了别的地方,上述命令便会出错。再如,一个.gif文件,有的用户喜欢用ACD See来打开,有的用户喜欢用IE来打开,有的用户喜欢用豪杰来打开,……
为了解这种情况我们可以调用Windows的文件关连来打开文件。即所有的文件都用系统默认的程序来打开。这就要调用Windows的Win32 API函数。调用方式如下:
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,;
STRING lpszOP, ;
STRING lpszFile, ;
STRING lpszParams, ;
STRING lpszDir, ;
INTEGER fsshowcmd
DECLARE INTEGER GetDesktopWindow IN win32api
HWND = GetDesktopWindow()
lpszOP = "open"
* 指定要打开的文件名
lpszFile ="c:\mlx.doc"
lpszParams = ""
lpszDir = "c:\temp"
fsshowcmd = 1
* 执行ShellExecute命令
LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd)
可以用任意的文件名来替换上文中的 c:\mlx.doc 。如果指定的文件名Windows无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。
十豆三
2010-01-15
打赏
举报
回复
如果是DOS外部命令,可以加/N 如: RUN /N ...
如果是DOS的内部命令时,RUN或!命令后不能带“/N”,
会出现DOS窗口,解决方法是您可以建立一个批处理文件(*.bat),内容为你的命令行,
然后再建一个快捷方式,将快捷方式属性中的运行方式其设为最小化,使用时调用这个快
捷方式,就可以以最小化窗口来执行DOS的命令了 。
wwwwb
2010-01-15
打赏
举报
回复
用ShellExecute、WinExec API函数好一些
taohua300
2010-01-14
打赏
举报
回复
可以把命令写到批处理文件(bat)里,然后用API函数来运行它
Declare Long WinExec In kernel32 String,Long
=WinExec("notepad.exe",1) && 0为隐藏
Clear Dlls
wwwwb
2010-01-14
打赏
举报
回复
示例:
DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER, STRING, STRING, STRING, STRING, INTEGER
shellexecute(0,'open','command.com','/k DEL D:\ZZ\*.DBF',0,0)
相关推荐
cmd
隐藏
cmd
运行
窗口
示例: 效果:
窗口
会
一闪而过
REM
隐藏
CMD
窗口
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").
run
("%~nx0 h",0)(window.close)&a...
启动tomcat
时
,弹出
窗口
出现错误后
一闪而过
在CMD
运行
startup.bat启动tomcat
时
,弹出
窗口
若出现错误后
一闪而过
,看不到错误信息 解决办法:打开startup.bat,通过使用
run
命令
在原有启动
窗口
显示出错信息。 在startup.bat中找到:call "%EXECUTABLE%" start %CMD_LINE_ARGS%,然后将start改为
run
即可。至此,Tomcat启动就不会弹出新
窗口
了。
win frp
隐藏
CMD
窗口
运行
@echo off if “%1” == “h” goto begin mshta vbscript:createobject(“wscript.shell”).
run
("""%~nx0"" h",0)(window.close)&&exit :begin REM frpc.exe -c frpc.ini 其中frpc.exe -c frpc.ini为
运行
命令
。 另存为.bat文件,放在frp目录下,双击该bat文件会在屏幕中
一闪而过
。 ...
把批处理文件打包成可执行文件并
隐藏
黑
窗口
from http://tal.iteye.com/blog/1199015 批处理在执行的
时
候无论是否在开头加了@echo off或每条语句前加@,都会出现个
一闪而过
的
窗口
.那么如何才能去掉这个
窗口
,让批处理
隐藏
运行
呢? 只要是批处理,都会先调用CMD来执行.即使在批处理里加上
隐藏
窗口
的
命令
,由于是先调用CMD后执行
命令
,所以还是会出现一个闪过的
窗口
.那么我们就先用
命令
来
隐藏
窗
隐藏
批处理
窗口
众所周知,批处理在执行的
时
候无论是否在开头加了@echo off或每条语句前加@,都会出现个
一闪而过
的
窗口
.那么如何才能去掉这个
窗口
,让批处理
隐藏
运行
呢? 只要是批处理,都会先调用CMD来执行.即使在批处理里加上
隐藏
窗口
的
命令
,由于是先调用CMD后执行
命令
,所以还是会出现一个闪过的
窗口
.那么我们就先用
命令
来
隐藏
窗口
,再执行批处理,这样就不会出现那
窗口
了! 我们可以先在记事本上输入如下内容:...
发帖
VFP
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
2579
社区成员
2.9w+
社区内容
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2010-01-14 05:21
社区公告
暂无公告