Français
Stammtisch & le café

CreateProcess.

 


Beschreibung:

qui API CreateProcess startet une Anwendung.




Deklaration:

Def @CreateProcess(10) !KERNEL32,CreateProcessA




paramètre:
1.paramètre: Bereichsvariable, dans qui qui nom des trop startenden Programmes steht (peux 0 son). 2.paramètre: Bereichsvariable, dans qui qui Kommandozeile des trop startenden Programmes steht (Pfad, Dateiname et paramètre). attention! longtemps Dateinamen faire ici eventuell Probleme!!! 3.paramètre: Bereichsvariable avec einem Security Descriptor pour den trop startenden Prozess (peux 0 son). 4.paramètre: Bereichsvariable avec einem Security Descriptor pour den den ersten Fil des trop startenden Prozess (peux 0 son). 5.paramètre: Flag pour qui übernahme de Handles. peux 1 ou bien 0 son. 6.paramètre: Flag pour qui Art qui Erzeugung dss Prozesses (peux 0 son). 7.paramètre: aiguille sur une neuen Block avec Umgebungsvariablen. peux 0 son. 8.paramètre: Bereichsvariable, dans qui cela neue aktuelle Verzeichnis des trop startenden Prozesses steht (peux 0 son).. 9.paramètre: Struktur ou bien 68 Byte grand Bereichsvariable, dans qui weitere Informationen sur den Startvorgang des Prozesses stehen peut. => - Byte 0-3 = Taille des Bereichs / qui Struktur - Byte 4-7 = Doit 0 son (reserviert). - Byte 8-11 = 0 ou bien qui Adresse eines Cordes avec dem Namen des Desktops, sur dem qui Prozess erzeugt volonté soll. sous Windows95 wird cette paramètre ignoriert.. - Bytes 12-15 = 0 ou bien Adresse des Titels einer Konsolenanwendung. - Byte 16-19 = si qui Flag $4 sous Byte 44 vorhanden ist, qui X-Position des erzeugten Fensters des Prozesses. Ansonsten 0. - Byte 20-23 = si qui Flag $4 sous Byte 44 vorhanden ist, qui Y-Position des erzeugten Fensters des Prozesses. Ansonsten 0. - Byte 24-27 = si qui Flag $2 sous Byte 44 vorhanden ist, qui Breite des erzeugten Fensters des Prozesses. Ansonsten 0. - Byte 28-31 = si qui Flag $2 sous Byte 44 vorhanden ist, qui Hauteur des erzeugten Fensters des Prozesses. Ansonsten 0. - Byte 32-35 = si qui Flag $8 sous Byte 44 vorhanden ist, steht ici pour une Konsolenanwendung qui Breite des Screen-Buffers dans ‚(marque-)Spalten’. - Byte 36-39 = si qui Flag $8 sous Byte 44 vorhanden ist, steht ici pour une Konsolenanwendung qui Breite des Screen-Buffers dans ‚(marque-)Zeilen’. - Byte 40-43 = Flags, qui pour Konsolenprozesse qui Text- et Hintergrundfarben angeben, . si qui Flag $10 sous Byte 44 vorhanden ist. Ansonsten 0. - Byte 44-47 = Flags, qui u.a. angeben quelle Mitglieder qui Struktur/des Bereichs verwendet volonté. qui Flags peut avec | addiert volonté. => $1 = qui à Byte 48 stehende Flag zur Anzeige des Fensters wird verwendet. $2 = qui à Byte 24 et 28 stehenden Angaben trop Hauteur et Breite des Fensters volonté verwendet. $4 = qui à Byte 16 et 20 stehenden Angaben zur Position des Fensters volonté verwendet. $8 = qui à Byte 32 et 36 stehenden Angaben volonté verwendet. $10 = qui à Byte 40 stehenden volonté verwendet. $40 = Zeigt beim Aufbau des Prozesses den Cursor „Anwendung wird gestartet“ à. $80 = Normaler Cursor wird angezeigt (Gegenteil de $40). $100 = Benutzt qui ab Byte 56 angegebenen Handles pour den Prozess. en supplément doit paramètre 5 également sur 1 gesetzt volonté. $80000000 = qui Prozess wird comment un Screensaver behandelt. - Byte 48-49 = Abbildungsmodus des Fensters des Prozesses (siehe 2.paramètre de WinExec dans qui Profan Aider). - Byte 50-51 = Reserviert, doit 0 son. - Byte 52-55 = Reserviert, doit 0 son. - Byte 56-59 = si qui Flag $100 sous Byte 44 vorhanden ist, peux on ici un standard Inputhandle pour den Prozess angeben. - Byte 60-63 = si qui Flag $100 sous Byte 44 vorhanden ist, peux on ici un standard Outputhandle pour den Prozess angeben. - Byte 64-67 = si qui Flag $100 sous Byte 44 vorhanden ist, peux on ici un standard Errorhandle pour den Prozess angeben. 10.paramètre: 16 Byte grand Bereichsvariable ou bien Struktur, qui Informationen sur den gestarteten Prozess aufnimmt. => - Byte 0-3 = cela Handle des Prozesses. - Byte 4-7 = cela Handle des ersten Threads des Prozesses. - Byte 8-11 = qui ID des Prozesses. - Byte 12-15 = qui Fil-ID des Prozesses. [/blue]

Rückgabewert:

0 chez Mißerfolg, ansonsten 1

Beispiele:

KompilierenMarqueSeparieren
Def @CreateProcess(10) !"KERNEL32","CreateProcessA"
Def @GetExitCodeProcess(2) !"KERNEL32","GetExitCodeProcess"
Def @TerminateProcess(2) !"KERNEL32","TerminateProcess"
Declare Command#,StartupInfo#,ProcessInfo#,ExitCode#

Proc CreateProcess

    Parameters command$
    Declare handle&
    Dim Command#,Add(Len(command$),1)
    Dim StartupInfo#,68
    Clear startupinfo#
    Long StartupInfo#,0=68
    Dim ProcessInfo#,16
    Clear ProcessInfo#
    String Command#,0=command$
    @CreateProcess(0,Command#,0,0,0,0,0,0,StartupInfo#,ProcessInfo#)
    Let handle&=Long(ProcessInfo#,0)
    Dispose Command#
    Dispose StartupInfo#
    Dispose ProcessInfo#
    Return handle&

EndProc

Proc KillProcess

    Parameters hprocess&
    Dim exitcode#,4
    @GetExitCodeProcess(hprocess&,exitcode#)
    @TerminateProcess(hprocess&,@Long(exitcode#,0))
    Dispose exitcode#

EndProc

Declare Terminate&,Start&,Programm$
Windowstyle 31
WindowTitle Process starten und killen
Window 0,0-640,440
Let Start&=@CreateButton(%HWND,Start,20,300,100,30)
Let Terminate&=@CreateButton(%HWND,"Terminate",200,300,100,30)
Enablewindow Terminate&,0
Enablewindow Start&,1

While 0=0

    Waitinput

    IF @Getfocus(Terminate&)

        KillProcess @&(0)
        Enablewindow Terminate&,0
        Enablewindow Start&,1

    ElseIF @Getfocus(Start&)

        Let Programm$=@Loadfile$("Eine Anwendung auswählen:","Programme|*.EXE;*.COM;*.PIF;*.BAT")

        IF Programm$<>

            CreateProcess Programm$,
            Enablewindow Terminate&,1
            Enablewindow Start&,0

        endif

    './../../function-references/xprofan/endif/'>Endif

Wend



Prozess Anwendung Programm Task starten beenden überwachen

 
05.03.2005  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.079 Views

Untitledvor 0 min.
H.Brill19.04.2022
Jürgen Strahl09.05.2020
GDL12.05.2014
iF13.01.2013
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie