关闭

MFC 进程和新进程主窗口特性问题

372人阅读 评论(0) 收藏 举报
分类:
 PROCESS_INFORMATION 结构  在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。其结构定义如下。
  typedef struct_PROCESS_INFORMATION{
  HANDLE hProcess;
  HANDLE hThread;
  DWORD dwProcessId;
  DWORD dwThreadId;
  }PROCESS_INFORMATION;
  其中成员含义如下。
  ① hProcess:返回新进程的句柄。
  ② hThread:返回主线程的句柄。
  ③ dwProcessId:返回一个全局进程标识符。该标识符用于标识一个进程。从进程被
  创建到终止,该值始终有效。
  ④ dwThreadId:返回一个全局线程标识符。该标识符用于标识一个线程。从线程被创
  建到终止,该值始终有效。

与此相关的数据结构还有:

STARTUPINFO结构

  该结构用于指定新进程的主窗口特性。STARTUPINFO 结构定义如下。
  typedef struct_STARTUPINFO
  {
  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 lpReserverd2;
  HANDLE hStdInput;
  HANDLE hStdOutput;
  HANDLE hStdError;
  }STARTUPINFO,*LPSTARTUPINFO;
  其中成员含义如下。
  ① cb:指定该结构大小。
  ② lpReserved:保留,置为NULL。
  ③ lpDesktop:指定一个字符串,包括该进程的桌面名或窗口位置名。
  ④ lpTitle:指定控制台进程创建的新控制台窗口标题。
  ⑤ dwX,dwY:指定新窗口左上角的x 和y 偏移量(以像素为单位)。如果dwFlags 成员
  未指定STARTF_USEPOSITION 标志,则忽略这两项。
  ⑥ dwXSize,dwYSize:指定新窗口的宽度和高度。如果dwFlags 成员未指定
  STARTF_USESIZE 标志,则忽略这两个成员。
  ⑦ dwXCountChars,dwYCountChars:指定新控制台窗口的屏幕缓冲区的宽度和高度。
  如果dwFlags 成员未指定STARTF_USECOUNTCHARS 标志,则忽略这两成员。
  ⑧ dwFillAttribute:指定新控制台窗口的初始文字和背景颜色。如果dwFlags 成员未
  指定STARTF_USEFILLATTRIBUTE 标志,则忽略该成员。
  ⑨ dwFlags:创建窗口标志。
  ⑩ wShowWindow:新窗口的显示状态。如果dwFlags 成员未指定STARTF_
  USESHOWWINDOWW 标志,则忽略该成员。
  cbReserved2:保留,必须置为0。
  lpReserved2:保留,必须置为NULL。
  hStdInput:指定一个句柄,该句柄用作进程的标准输入句柄。如果dwFlags 成员未
  指定STARTF_USESTDHANDLES 标志,则忽略该成员。
  hStdOutput:指定一个句柄,该句柄用作进程的标准输出句柄。如果dwFlags 成员
  未指定STARTF_USESTDHANDLES,则忽略该成员。
  hStdError:指定一个句柄,该句柄用作进程的标准错误句柄。如果dwFlags 成员未
  指定STARTF_USESTDHANDLES,则忽略该成员。

SECURITY_ATTRIBUTES 结构

  该结构存放一个对象的安全描述符并指定是否继承返回的句柄。
  SECURITY_ATTRIBUTES 结构定义如下。
  typedef struct_SECURITY_ATTRIBUTES{
  DWORD nLength;
  LPVOID lpSecurityDescriptor;
  BOOL bInheritHandle;
  }SECURITY_ATTRIBUTES
  其中成员含义如下。
  ① nLength:指定该结构大小。
  ② lpSecurityDescriptor:指向一个对象的安全描述符,该安全描述符控制对象的共享。
  如果该成员置为NULL,则该对象使用调用进程的默认安全描述符
  ③ bInheritHandle:指定新进程被创建时是否继承返回的句柄。若该成员置为TRUE,
  则新进程继承该句柄。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1040927次
    • 积分:18215
    • 等级:
    • 排名:第522名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:106条
    最新评论