Français
Forum

Suchprogramm et Shell

 

Thomas
Freier
Au cours de sich cela Hauptprogramm aufbaut (normal ca. 1s) et ensuite dans qui Warteschleife ist, soll un avec Shell gestartetes Such-Programme (ici Avery.exe genannt) überprüfen, si et wohin une bestimmte *.exe vorhanden ist.
Pour Rechnerneustart et Aufruf des Hauptprogramms verharrt es ca. 25s et reagiert pas.
Eigentlich soll doch cela Hauptprogramm plus bedienbar rester.
Pour erneutem Start des Hauptprogramms verharrt es seulement encore ca. 4s.
Ist cela seulement chez mir so ou bien wohin fais je une faute?
Minibeispiel
KompilierenMarqueSéparation
 $P+
SetErrorLevel 0
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE T&,TAB1&,TAB2&
DECLARE EDIT1&,EDIT2&,EDIT3&
DECLARE ELEMENT1&,ELEMENT2&,ELEMENT3&
WINDOWSTYLE 538
WINDOWTITLE "Tabtest"
WINDOW 209,169-500,250
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
T& = CREATE("TABCTRL",%HWND,"Reiter1",0025,0027,0395,0172)
TAB1&=@InsertTab(T&,1,"Reiter2")
TAB2&=@InsertTab(T&,2,"Reiter3")
ELEMENT1&=Control("STATIC","",$54001106,10,30,200,100,t&,0,%hinstance,$0)
EDIT1&=Create("Edit",ELEMENT1&,"TAB 0",10,10,100,18)
ELEMENT2&=Control("STATIC","",$54001106,10,30,200,100,t&,0,%hinstance,$0)
EDIT2&=Create("TEXT",ELEMENT2&,"TAB 1",10,10,100,18)
ELEMENT3&=Control("STATIC","",$54001106,10,30,200,100,t&,0,%hinstance,$0)
EDIT3&=Create("BUTTON",ELEMENT3&,"TAB 3",10,10,100,18)
Zuerst nur das erste anzeigen:
Showwindow(Element1&,1)
Showwindow(Element2&,0)
Showwindow(Element3&,0)
Shell "Avery.exe" prüft wo notepad.exe vorhanden ist.
Ergebnis in der  AVREY.INI
SETFOCUS(%HWND)

WHILENOT ENDE%

    WAITINPUT

    If %KEY=2

        ENDE%= 1

    ELSEIF TABCHANGED(T&) TABCTRL

        IF GetActiveTab(T&) = 0

            Showwindow(Element1&,1)
            Showwindow(Element2&,0)
            Showwindow(Element3&,0)

        ELSEIF GetActiveTab(T&) = 1

            Showwindow(Element1&,0)
            Showwindow(Element2&,1)
            Showwindow(Element3&,0)

        ELSEIF GetActiveTab(T&) = 2

            Showwindow(Element1&,0)
            Showwindow(Element2&,0)
            Showwindow(Element3&,1)

        ENDIF

    ENDIF

href='./../../function-references/XProfan/Wend/'>WEND


Suchprogramm
KompilierenMarqueSéparation
Def Searchtreeforfile(3) !"imagehlp","SearchTreeForFile"
Def GetLogicalDrives(0) !"KERNEL32","GetLogicalDrives"
Def GetDriveType(1) !"KERNEL32","GetDriveTypeA"
Déclarer buf#, Buffer#
Faible buf#,4
Faible Buffer#,261
var f.Dossier$=  "note-pad.exe" à cause de qui Suchdauer geändert
Déclarer drives&,i%,f.Racine$,f.Rück&
drives&=GetLogicalDrives()

Tandis que (i%<26)

    Si Test peu(drives&,i%)

        f.Racine$=Chr$((i%+65));»
        String buf#,0=f.Racine$

        Si GetDriveType(buf#)=3

            Claire Buffer#
            f.Rück& = @Searchtreeforfile(@Addr(f.Racine$), @Addr(f.Dossier$), Buffer#)
            cas f.RÜck& <> 0: BREAK

        EndIf

        clear buf#

    EndIf

    Inc i%

Wend

WRITEINI $PROGDIR+"\AVERY.INI","Avery","DirPfad"=String$(Buffer#,0)
Dispose Buffer#
Dispose buf#
Fin
 
Gruß Thomas
Windows XP SP2, XProfan X2
09.04.2010  
 



si pour shell qui aufrufende Anwendung verharrt, gibt Windows dem Aufrufer wohlmöglich arrêt grad aucun Priorität ou bien es meint, dass plan autre Dinge grad wichtiger sommes bzw. zunächst abgearbeitet volonté doit. tu peux pas en sortir, dass Prozesse ou bien Threads Schritt pour Schritt nebeneinander herlaufen - plutôt ist cela Gegenteil qui le cas. Einen logischen faute habe je beim Überfliegen vom Code pas erkannt, sodass je simple dire serait, qui calculateur "ackert" arrêt - besonders frisch pour dem Hochfahren - et besonders weil Dein Suchthread so entier sans WaitInput volontiers sowieso am liebsten volle charge dans Anspruch nimmt. ^ ^ (vlt. serait simple pour Tandis que (i%<26) un WaitInput 1 aider)
 
09.04.2010  
 




Thomas
Freier
Hat alles pas viel geändert. Werde simple seulement chez besoin nachprüfen, si le erforderliche ext. Software gebraucht wird, si vous encore im einmal ermittelten Dossier vorhanden ist.
 
Gruß Thomas
Windows XP SP2, XProfan X2
11.04.2010  
 



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.560 Views

Untitledvor 0 min.
Walter30.01.2018
GC5704.08.2016
Detlef Jagolski18.01.2011

Themeninformationen

cet Thema hat 2 participant:

Thomas Freier (2x)
iF (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