windows - Manipulere processen, der udfører applikationen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har for nylig gravet ind i Windows med 'Windows Internal' og 'Windows via C/C ++' og får mig til at tænke over at manipulere processen, mens jeg læser om proces og dets kernelrelaterede objekt.


Hvilken bog siger der er forskellige muligheder, du kan bruge til procesoprettelse som sikkerhedsattribut, håndtere arv, størrelse, startposition og titel på vindue og så videre. Det kan dog anvendes, når du eksplicit opretter en proces med funktionsopkald 'CreateProcess', hvis jeg har det rigtige. En procesoprettelse er et usædvanligt arbejde, og jeg tror, ​​at de fleste situationer kan dækkes med trådfremstilling eller Opgaveoprettelse fra C #.


Så mit spørgsmål er, jeg har et program til at udskrive 'Hello World.' på konsol skærm og og vil manipulere den proces, der udfører min kode. Selvfølgelig er der ingen CreateProcess-funktionsopkald, men processen skal oprettes til at udføre mit program med dets hovedtråd.



  1. Er processen, der kører min kode, oprettet af Window?

  2. Hvis det er muligt, hvordan man manipulerer processen, som automatisk (?) oprettes til at udføre min kode?



Jeg sætter stor pris på hjælper, kommentarer og links. (Og forstå venligst min engelsk. Ikke modersmål.)


Opdater


Baseret på kommentaren fra eryksun (Tak!) Når jeg opretter et program baseret på CUI (eller GUI enten), skal shell lave en proces til at udføre mit program. Fra bogen kan vi levere STARTUPINFO, som har en indledende konfiguration om titel, position, størrelse (og så videre ...) af vinduet til [createprocess][1] funktionsopkald.


Spørgsmål: Jeg vil indstille størrelse og placering af det oprindelige vindue til konsolvinduet med udskrivning af 'Hej verden'. Hvis shell gør for mig, hvordan konfigureres den oprindelige værdi for den?


Et andet spørgsmål: Fra bogen 'Windows Internal' står det, at du kan oprette en proces uden nogen tråd, som er meningsløs og ikke nyttig, men dør mulig. Hvordan?

Bedste reference