启动一个子进程,遇到的问题!

sursure 2005-08-25 10:52:26
我打算在我程序里进行一个计算,该计算采用一大型商业软件,该软件具有特定的文件输入格式。

我启动了一个子进程,启动了商业软件(该软件需要一个输入文件才能开始运算),这时我该怎么办呢?在我程序中启动该软件的同时怎样告诉它输入文件名称呢?

再形象的比喻一下:比如在程序中启动IE,也告诉它一个URL,让它打开这个特定的网页。
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxk 2005-08-28
  • 打赏
  • 举报
回复
是的,使用上面两个命令中的任何一个都可以的

sursure 2005-08-28
  • 打赏
  • 举报
回复
比如我要用 word程序打开一个txt文件,我先创建一个word程序子进程,同时可以告诉它txt文件名称吗?
如果能的话怎么样做呢?

用命令行格式吗?
社会栋梁 2005-08-25
  • 打赏
  • 举报
回复
14
int WINAPI _tWinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine, int)
{
...

g_dwProcessId = _ttoi(pszCmdLine);
if (g_dwProcessId == 0) {
g_dwProcessId = GetCurrentProcessId();//传入参数的使用
}
社会栋梁 2005-08-25
  • 打赏
  • 举报
回复
windows核心编程
4
case ID_VMMAP:
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
TCHAR szCmdLine[1024];
HWND hwndCB = GetDlgItem(hwnd, IDC_PROCESSMODULELIST);
DWORD dwProcessId = (DWORD)
ComboBox_GetItemData(hwndCB, ComboBox_GetCurSel(hwndCB));
wsprintf(szCmdLine, TEXT("\"14 VMMap\" %d"), dwProcessId);
BOOL fOk = CreateProcess(NULL, szCmdLine, NULL, NULL, //这里传参数
FALSE, 0, NULL, NULL, &si, &pi);
if (fOk) {
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
} else {
chMB("Failed to execute VMMAP.EXE.");
}
break;
sursure 2005-08-25
  • 打赏
  • 举报
回复
再CreateProcess的第二个参数中设置输入文件名称 是吗?
idAnts 2005-08-25
  • 打赏
  • 举报
回复
通过参数
CreateProcess("C:\\a.exe","/1 /2",...........);
类似这样。

不过要是ie就简单点了:
ShellExecute(handle, "open", "http://www.csdn.net", NULL, NULL, SW_SHOWNORMAL);
就可以了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧