我是靠谱客的博主 沉静刺猬,最近开发中收集的这篇文章主要介绍MFC 进程和新进程主窗口特性问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 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,
  则新进程继承该句柄。

最后

以上就是沉静刺猬为你收集整理的MFC 进程和新进程主窗口特性问题的全部内容,希望文章能够帮你解决MFC 进程和新进程主窗口特性问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部