C++中,如何用CreateProcess()函数打开记事本程序并打开指定txt文件

选择路径notepad.exe后打开的是新记事本,我想打开的是指定的记事本

用ShellExecute(NULL,"open","Readme.txt",NULL,NULL,SW_SHOWNORMAL);
头文件为shellapi.h

BOOL CreateProcess(
LPCTSTR lpApplicationName,//程序名
LPTSTR lpCommandLine, // 参数
LPSECURITY_ATTRIBUTES lpProcessAttributes, // 进程安全属性
LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程安全属性
BOOL bInheritHandles, // 安全属性能否被继承
DWORD dwCreationFlags, // 多个常数的组合,常用CREATE_SUSPENDED使进程悬挂,设置优先权等级
LPVOID lpEnvironment, // 环境变量,一般继承父进程即可设为NULL
LPCTSTR lpCurrentDirectory, // 子进程的当前工作目录
LPSTARTUPINFO lpStartupInfo, // 很大的结构体,用来设定窗口的标题、位置与大小
LPPROCESS_INFORMATION lpProcessInformation // 该结构体四个成员分别为进程、线程的ID、HANDLE
);
第二个参数 应该就是要打开的文件了,好久没用了追问

我的程序写的是CreateProcess("c:\\windows\\system32\\notepad.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
打开的是新记事本,能否在此基础上打开指定记事本
用您的函数写出来的就直接打开了,CreateProcess那步可有可无

追答

第一个函数本来就可以打开了
我是给你多发一种方法啦
CreateProcess("c:\\windows\\system32\\notepad.exe","Readme.txt",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);

追问

谢谢,可是弹出来的还是“无标题-记事本”T_T

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-10
第二个参数设为“notepad.exe的路径+空格+txt文件路径”就行了!本回答被提问者采纳
相似回答