Français
Forum

Befehle dans XProfan

 

Blue
Max
très geehrte Damen et Herren,

j'écris un Programme, de dem aus un d'autre Programme gestartet volonté soll. eh bien soll XProfan 8.0 seulement ensuite continuer, si cela gestartete Programme finissez wurde. ca konnte je früher avec dem %GetUsage befehl erreichen. eh bien existiert cette Befehl pas plus.
Gibt es une Funktion, qui cette Befehl %GetUsage ersetzt?

Salut
Blue Max
 
31.05.2005  
 




Dietmar
Horn
Salut,

pour cette Zweck pourrait WinExecWait Dein ami son.

Salut
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
31.05.2005  
 



allô Blue Max...

dans qui API Library wirst dun im Bereich Prozesse einiges finde´n, quoi dir weiterhelfen wird. ici la fois un Beispiel:
KompilierenMarqueSéparation
Def @CreateToolhelp32Snapshot(2) !"kernel32","CreateToolhelp32Snapshot"
Def @Process32First(2) !"kernel32","Process32First"
Def @Process32Next(2) !"kernel32","Process32Next"
Def @CloseHandle(1) !"kernel32","CloseHandle"
Def @TerminateProcess(2) !"kernel32","TerminateProcess"
Def @OpenProcess(3) !"kernel32","OpenProcess"
Def &TH32CS_SNAPPROCESS 2
Def &PROCESS_TERMINATE 1
Declare PROCESSENTRY#
Struct PROCESSENTRY32 =dwSize&,cntUsage&,th32ProcessID&,th32DefaultHeapID&,th32ModuleID&,cntThreads&,th32ParentProcessID&,pcPriClassBase&,dwFlags&,szExeFile$(260)

Proc actua

    parameters prozess$, delete%
    declare lenname&
    declare hSnapshot&, Result&, hProcess&, proz_anzahl&, term_ok&
    Dim PROCESSENTRY#, PROCESSENTRY32
    Long PROCESSENTRY#,0 =296
    clear proz_anzahl&, term_ok&
    lenname& = len(prozess$)
    prozess$ = Lower$(prozess$)
    hSnapshot& = CreateToolhelp32Snapshot(&TH32CS_SNAPPROCESS, 0)

    IfNot hSnapshot& = -1

        Result& = Process32First(hSnapshot&, PROCESSENTRY#)
        messagebox(str$(GetLastError()),"Err",48)
        messagebox(str$(Result&),str$(hSnapshot&),48)

        While Result&

            messagebox(Lower$(Right$(PROCESSENTRY#.szExeFile$,lenname&)),"",48)

            if Lower$(Right$(PROCESSENTRY#.szExeFile$,lenname&)) = prozess$

                if delete% = 1

                    hProcess& = @OpenProcess(&PROCESS_TERMINATE, 0, PROCESSENTRY#.th32ProcessID&)
                    sendmessage(hProcess&,$0010,0,0)
                    term_ok& = @TerminateProcess(hProcess&, 0)
                    @CloseHandle(hProcess&)
                    sleep 100

                endif

                proz_anzahl& = proz_anzahl& + (delete%<>1) + term_ok&

            endif

            Result& = Process32Next(hSnapshot&, PROCESSENTRY#)

        EndWhile

    endif

    @CloseHandle(hSnapshot&)
    Dispose PROCESSENTRY#
    return proz_anzahl&

Endproc

@WinEXEC("NotePad.exe",1)
Windowstyle 31
Windowtitle "Prozess überwachen!"

While 0=0

    Window 0,0-640,440
    Sleep 100
    actua "Notepad.exe",0

    IF @&(0)>0

        Drawtext 0,0,"Notepad noch aktiv: "+@str$(@&(0))+"                           "

    Else

        Drawtext 0,0,"Notepad gibts nicht mehr!"+@str$(@&(0))+"                           "

    

Wend


et c'est encore plus beau:
KompilierenMarqueSéparation
DEF CreateProcessA(10)    ! "Kernel32","CreateProcessA"
DEF GetExitCodeProcess(2) ! "Kernel32","GetExitCodeProcess"
DEF TerminateProcess(2)   ! "Kernel32","TerminateProcess"
DEF ZeroMemory(2)         ! "Kernel32","RtlZeroMemory"
DEF CloseHandle(1)        ! "Kernel32","CloseHandle"
Déclarer lpCommandLine#
Déclarer lpStartupInfo#
Déclarer lpProcessInformation#
Déclarer ExitCode#
Déclarer Prozess$

Proc CreateProcess

    Paramètres CommandLine$
    Déclarer hProcess&
    Faible lpCommandLine#,Len(CommandLine$)+1
    Faible lpStartupInfo#,68
    ZeroMemory(lpStartupinfo#,68)
    Long lpStartupInfo#,0=68
    Long lpStartupInfo#,44=1 Flag, quelle Anteile de Startupinfo berücksichtigt volonté devoir
    Word lpStartupInfo#,48=1 SHOWParameter de WinExec
    Faible lpProcessInformation#,16
    ZeroMemory(lpProcessInformation#,16)
    String lpCommandLine#,0=CommandLine$
    CreateProcessA(0,lpCommandLine#,0,0,0,0,0,0,lpStartupInfo#,lpProcessInformation# )
    hProcess&=Long(lpProcessInformation#,0)
    Dispose lpCommandLine#
    Dispose lpStartupInfo#
    Dispose lpProcessInformation#
    Retour hProcess&

ENDPROC

Proc ProcessStatus

    parameters prozid&
    declare status&
    GetExitCodeProcess(prozid&,Exitcode#)
    status& = long(Exitcode#,0)
    return status&

endproc

Déclarer hProcess&
LET PROZESS$=@LOADFILE$("Datei auswählen","*.EXE")
CASE PROZESS$=» : FIN
Faible exitcode#,4
createprocess PROZESS$
LET hProcess& = @&(0)
Windowstyle 31+512
Titre de la fenêtre "Prozess überwachen"
Fenêtre 0,0-640,440

tandis que %MENUITEM<>-2

    Sleep 100
    ProcessStatus hProcess&
    imprimer @&(0)
    imprimer hex$(long(Exitcode#,0))

endwhile


si du den Titel des Hauptfensters kennst, peux du den Prozess (cela Programme) aussi avec qui Profanfunktion FindWindow surveiller - cela habe je aussi déjà gemacht...
 
31.05.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

1.591 Views

Untitledvor 0 min.
Walter17.02.2019
Peter Max Müller09.06.2015

Themeninformationen



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