windows WinExec()

windows WinExec()23456#includeintmain(){WinExec(“notepad.exe”,SW_SHOW);//运行计事本return0;}

大家好,又见面了,我是你们的朋友全栈君。

 

2

3

4

5

6

#include<windows.h>

intmain()

{

WinExec("notepad.exe",SW_SHOW);//运行计事本

return0;

}

 

 

返回值:


函数调用成功,则返回值大于31。若
函数调用失败,则返回值为下列之一:
① 0:
系统内存或资源已耗尽。
② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。
③ ERROR_FILE_NOT_FOUND:指定的文件未找到。
④ ERROR_PATH_NOT_FOUND:指定的路径未找到。
大于 31 {调用成功}
等于 0 {
内存不足}
ERROR_FILE_NOT_FOUND = 2; {文件名错误}
ERROR_PATH_NOT_FOUND = 3; {路径名错误}
ERROR_BAD_FORMAT = 11; {EXE 文件无效}
//uCmdShow 参数可选值:
SW_HIDE = 0; {隐藏, 并且
任务栏也没有最小化图标}
SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}
SW_NORMAL = 1; {同 SW_SHOWNORMAL}
SW_SHOWMINIMIZED = 2; {最小化, 激活}
SW_SHOWMAXIMIZED = 3; {最大化, 激活}
SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}
SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}
SW_SHOW = 5; {同 SW_SHOWNORMAL}
SW_MINIMIZE = 6; {最小化, 不激活}
SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}
SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}
SW_RESTORE = 9; {同 SW_SHOWNORMAL}
SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}
SW_MAX = 10; {同 SW_SHOWNORMAL}

 

 

 

在Windows程序设计中WinAPI也为我们提供了类似的函数,它就是WinExec()
1)WinExec() 函数原型: 
UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow); 
参数说明:(激活的意思是能接受焦点,即标题栏变成蓝色) 
lpCmdLine:以0结尾的字符串,命令行参数。 
uCmdShow:新的应用程序的运行方式。其取值如下: 
SW_HIDE 隐藏 
SW_MAXIMIZE 最大化 
SW_MINIMIZE 最小化,并把Z order顺序在此窗口之后(即窗口下一层)的窗口激活 
SW_RESTORE 激活窗口并还原为初始化大小 SW_SHOW 以当前大小和状态激活窗口 
SW_SHOWDEFAULT 以默认方式运行 
SW_SHOWMAXIMIZED 激活窗口并最大化 
SW_SHOWMINIMIZED 激活窗口并最小化 
SW_SHOWMINNOACTIVE 最小化但不改变当前激活的窗口 
SW_SHOWNA 以当前状态显示窗口但不改变当前激活的窗口 
SW_SHOWNOACTIVATE 以初始化大小显示窗口但不改变当前激活的窗口 
SW_SHOWNORMAL 激活并显示窗口,如果是最大(小)化,窗口将会还原。第一次运行程序 时应该使用这个值 
比如说,我想要用记事本打开"C:\HDC.TXT",以正常方式运行: 
WinExec("notepad c:\\hdc.txt",SW_SHOWNORMAL); 
如果调用成功,这个函数会返回一个不小于31的值,否则调用失败,其返回值的意义如下: 
0 系统内存或资源不足 
ERROR_BAD_FORMAT .EXE文件格式无效(比如不是32位应用程序) 
ERROR_FILE_NOT_FOUND 指定的文件设有找到 
ERROR_PATH_NOT_FOUND 指定的路径没有找到 
这个函数和system()非常类似,只能运行.EXE文件,这样在WINDOWS中有它不尽人意的地方,比如不能用此方法通过关联的方法打开文件,例如WinExec("1.html",SW_SHOWNA);就不能打开此文档。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157679.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux中安装程序的命令是,Linux安装软件命令是什么

    Linux安装软件命令是什么一、使用dpkg命令安装deb安装包文件Debian软件包命名遵循下列约定:-.deb安装步骤:1、找到相应的软件包,比如xx.deb,下载到本机某个目录;2、cdxx.deb所在的目录;3、sudodpkg-ixx.deb。卸载步骤:1、sudodpkg-rxxSoftName。使用apt在线安装、卸载sudoaptinstallsudoapt…

    2022年4月10日
    52
  • pycharm修改编码格式_pycharm代码风格

    pycharm修改编码格式_pycharm代码风格本文转自:pycharm自动调整代码格式问题在使用pycharm的代码编辑器时,常常懒得写空格,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法pycharm有自动调整代码格式的快捷键,默认为Alt+Ctrl+L,按下快捷键后,代码自动填充了空格。…

    2022年8月25日
    3
  • sql语句批量清空表数据

    sql语句批量清空表数据业务场景:开发过程中由于历史数据造成正常的功能出错,希望在某次测试之前,执行sql批量清空所有相关的业务数据,保留表结构。假设有表test1、test2,sql语句放在sql文件中,直接执行即可。truncatetabletest1;truncatetabletest2;…

    2022年5月22日
    38
  • 数据库的存储过程_数据库的存储过程语句

    数据库的存储过程_数据库的存储过程语句一、存储过程与函数的区别:1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。3.存储过程一

    2022年8月5日
    5
  • postgresql connection refused 5432 win10[通俗易懂]

    postgresql connection refused 5432 win10[通俗易懂]一个小问题困扰了我很久,最后解决了,可是具体问题在哪里我还是没明白。我使用的win10系统,之前eclipsejdbcpostgresql连接完全没有问题,有天发现屏幕下端的搜索框不能使用了,在网上找了解决方法,在powershell上重装了微软小娜,解决了这个搜索框不能使用的问题。可是后来发现eclipse使用jdbc一直连不上postgresql,报错java.net,Conn…

    2022年6月19日
    80
  • DB2 SQL存储过程语法

    DB2 SQL存储过程语法

    2021年5月6日
    106

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号