在线高分提问菜鸟问题

lipeng3a 2005-01-07 02:53:17
void __fastcall Tf12_3_1::btnCalClick(TObject *Sender)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
CreateProcess("c:\\winnt\\system32\\calc.exe",NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
}
中STARTUPINFO和PROCESS_INFORMATION是什么类??起到什么作用??
ZeroMemory函数中&si, sizeof(si)各代表什么意思??
能否解释一下 CreateProcess函数中各个参数的作用??
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nb_zhouyi 2005-01-07
  • 打赏
  • 举报
回复
The PROCESS_INFORMATION structure is filled in by the CreateProcess function with information about a newly created process and its primary thread.

typedef struct _PROCESS_INFORMATION { // pi
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;



The STARTUPINFO structure is used with the CreateProcess function to specify main window properties if a new window is created for the new process.
typedef struct _STARTUPINFO { // si
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO
kmfangxun 2005-01-07
  • 打赏
  • 举报
回复
中STARTUPINFO和PROCESS_INFORMATION是什么类??起到什么作用??
是结构,用于传递函数里的参数。用结构传递参数比较集中。


ZeroMemory函数中&si, sizeof(si)各代表什么意思??
对si 的各个字节置零,&si表示si的起始地址,sizeof(si)表示变量si占用内存的大小。

能否解释一下 CreateProcess函数中各个参数的作用??
自己看资料,比如:msdn.


3996906 2005-01-07
  • 打赏
  • 举报
回复
帮助上都有,你help->Windows SDK再找就可以找到

&si是个指针,是你声明的结构si在内存中的起始地址

sizeof(si)是求出这个结构占内存空间的长度

BOOL CreateProcess(

LPCTSTR lpApplicationName, // 可执行模块的名字
LPTSTR lpCommandLine, // 命令行字符串
LPSECURITY_ATTRIBUTES lpProcessAttributes, // 进程的安全属性 LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程的安全属性
BOOL bInheritHandles, // 继承标记
DWORD dwCreationFlags, // 创建标记
LPVOID lpEnvironment, // 新环境块
LPCTSTR lpCurrentDirectory, // 当前目录名称
LPSTARTUPINFO lpStartupInfo, // STARTUPINFO 结构,就是那个si
LPPROCESS_INFORMATION lpProcessInformation // PROCESS_INFORMATION 结构,那个pi
);

详细的看帮助去吧,都翻太多了~~~~~~~很累-_-b
sangxiao 2005-01-07
  • 打赏
  • 举报
回复
BOOL CreateProcess(

LPCTSTR lpApplicationName, // pointer to name of executable module
LPTSTR lpCommandLine, // pointer to command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // pointer to process security attributes
LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes
BOOL bInheritHandles, // handle inheritance flag
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // pointer to new environment block
LPCTSTR lpCurrentDirectory, // pointer to current directory name
LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO
LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION
);
3996906 2005-01-07
  • 打赏
  • 举报
回复
是结构

typedef struct _STARTUPINFO { // si
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;

} STARTUPINFO, *LPSTARTUPINFO;

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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