我最近使用“Windows Internal”和“Windows via C / C ++”深入了解Windows,并让我考虑在阅读流程及其内核相关对象时操纵流程。
什么书说有多种选项可用于创建流程,如安全属性,句柄继承,大小,初始位置和窗口标题等。但是,如果我是正确的,当您使用函数调用'CreateProcess'显式创建进程时,它可以适用。流程创建是一项不寻常的工作,我相信大多数情况都可以通过C#中的线程创建或任务创建来解决。
所以,我的问题是,我有一个打印出“Hello World”的程序。在控制台屏幕上,并希望操纵执行我的代码的过程。显然没有CreateProcess函数调用,但必须创建进程以使用其主线程执行我的程序。
我非常感谢任何帮助,评论和链接。 (请理解我的英语。不是母语。)
更新
基于eryksun的评论(谢谢!),当我创建基于CUI(或GUI)的程序时,shell将创建一个执行程序的过程。从本书中,我们可以提供STARTUPINFO
,其中包含关于[createprocess][1]
函数调用的窗口的标题,位置,大小(等等)的初始配置。
问题:我想设置控制台窗口初始窗口的大小和位置,打印出“Hello world”。如果shell为我做了,如何配置它的初始值?
另一个问题:从“Windows内部”一书中可以看出,你可以创建一个没有任何线程的流程,这个流程毫无意义,没有用,但可能会有所不同。怎么样?