三个SDK函数 winexec, shellexecute,createprocess可以使用。
WinExec 最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说
一下,比如泥用 SW_SHOWMAXMIZED 方式去加栽一个无最大化按钮的程序,呵呵就是
Neterm,calc 等等,就不会出现正常的 窗体,但是已经被加到任务列表里了。
ShellExecute较 WinExex灵活一点,可以指定工作目录,下面的 Example就是直接打开
c:/temp/1.txt,而不用加栽与 txt 文件关联的应用程序,很多安装程序完成后都会打开
一个窗口,来显示Readme or Faq,偶猜就是这么作的啦.
ShellExecute(NULL,NULL,_T("1.txt"),NULL,_T("c://temp"),SW_SHOWMAXMIZED);
CreateProcess最复杂,一共有十个参数,不过大部分都可以用NULL 代替,它可以指定
进程的安全属性,继承信息,类的优先级等等.来看个很简单的 Example:
STARTUPINFO stinfo; //启动窗口的信息
PROCESSINFO procinfo; //进程的信息
CreateProcess(NULL,_T("notepad.exe"),NULL,NULL.FALSE, NORMAL_PRIORITY_
CLASS,NULL,NULL, &stinfo,&procinfo);
//-----------------------------------------------------------------
如何将WinExec 、ShellExecute或者CreateProcess这三个函数载入应用程序
调用SDK函数WinExec 、ShellExecute或者CreateProcess。WinExec函数使用起来最简单,它有两个参数:程序命令行和显示状态。
Shell Execute函数比较灵活允许用户打开指定工作目录的文件。
CreateProcess最复杂,使用它用户可以指定进程以及安全属性、继承信息、类的优先级信息。
下面的例子说明了如何将这三个函数载入应用程序:
// Launch the calculator application .
: : WinExec_ (_T ("calc . exe") , SW_SHOW);
//Open file . txt with its associated application . launch the application
// minimized and set the working directory to c: /data .
: : ShellExecute (NULL, NULL , _T("file . txt"),NULL, _T("c: //data") , SW_SHOWMINIMIZED) ;
//Launch Media Player using CreateProcess.
//Allocate and initialize startup and process structures .
STARTUPINFO infoStart ;
PROCESS_INFORMATION infoProcess ;
memset (&infoStart , 0, sizeof (infoStart));
infoStart. cb =sizeof(STARTUPINFO);
相关文章
- 以其他账户打开sql server2016/vs2013/vs2015等出现“此任务要求应用程序具有较高的权限”的解决办法
- Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别
- [高分,再发布]改变其他应用程序的控件字体的问题
- 如何改变MFC应用程序主窗口的类名
- 如何从我们在iphone中的应用程序打开其他应用程序
- iOs特定于设备的资源不起作用 - ~iPad加载默认XIB - 通用应用程序
- 从应用程序的其他类使用“FindResource”
- Qt应用程序:无法加载平台插件“windows”。可用的平台是:
- 检查WPF应用程序的其他实例是否正在/没有运行[duplicate]
- 在Linux上的Eclipse RCP应用程序中加载本机库