Italia
Foro

Meldung kommt zu presto..

 
Der untenstehende Code ist nur ein Beispiel. Zeigt aber mein Problem. Nach Aufruf und Beenden des Papierkorbes (oder einer anderen Windows-Funktion) soll eine Aktion stattfinden - hier die Messagebox. Leider wird die Box aber sofort gezeigt und dann erst wird der Papierkorb gestartet. Wie kann ich das ändern ?
KompilierenMarkierenSeparieren
DECLARE EE%,ende%,aufruf%
EE%=0
----------------------------------------------

PROC MELDUNG

    Messagebox("Es ist vollbracht !","Meldung",64)

ENDPROC

PROC STARTE_AUFRUF

    Papierkorb starten - Es kann auch eine andere Windows-Funktion sein - Das ist nur ein Beispiel
    WinExec("explorer /n,::{645FF040-5081-101B-9F08-00AA002F954E}",1)
    MELDUNG Der Aufruf soll erst nach dem Schliessen des Papierkorbes angezeigt werden

ENDPROC

----------------------------------------------
CLS
ende%=Create("Button",%hwnd,"Ende",10,10,100,25)
aufruf%=Create("Button",%hwnd,"Windows-Papierkorb",10,50,200,25)

WhileNot EE%

    WAITINPUT
    Case CLICKED(ende%):EE%=1
    Case CLICKED(aufruf%):STARTE_AUFRUF

EndWhile

end

Danke per Aiuto
 
22.10.2008  
 




RGH
Hallo Horst,

WinExex startet ein Programm und kehrt sofort zurück, ohne das Ende des Programmi abzuwarten. Willst Du warten, bis das aufgerufene Progamm beendet wurde, mußt Du WinExecWait verwenden.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
22.10.2008  
 



Man bin ich doof - steht grande und deutlich in der Aiuto - Danke Roland
(man wird eben alt !)
 
22.10.2008  
 




RGH
Hallo Horst,
per Dein spezielles Problem war meine Antwort etwas voreilig. Hier wartet WinExecwait nur unwesentlich länger, nämlich bis das Öffnen des Papierkorbes abgeschlossen ist. Wenn Du aber warten willst, bis das Explorerfenster des Papierkorbes geschlossen wird, müßtest Du warten, bis kein Fenster mit dessen Überschrift mehr existiert. So funktioniert es bei mir:
KompilierenMarkierenSeparieren
DECLARE EE%,ende%,aufruf%
EE%=0
----------------------------------------------

PROC MELDUNG

    Messagebox("Es ist vollbracht !","Meldung",64)

ENDPROC

PROC STARTE_AUFRUF

    Declare Papierkorb&
    Papierkorb starten - Es kann auch eine andere Windows-Funktion sein - Das ist nur ein Beispiel
    WinExec("explorer /n,::{645FF040-5081-101B-9F08-00AA002F954E}",1)
    warten, bis das Fenster tatsächlich existiert
    Repeat : Until FindWindow("Papierkorb") <> 0
    warten, bis es wieder weg ist
    Repeat : Until FindWindow("Papierkorb") = 0
    MELDUNGDer Aufruf soll erst nach dem Schliessen des Papierkorbes angezeigt werden

ENDPROC

----------------------------------------------
CLS
ende%=Create("Button",%hwnd,"Ende",10,10,100,25)
aufruf%=Create("Button",%hwnd,"Windows-Papierkorb",10,50,200,25)

WhileNot EE%

    WAITINPUT
    Case CLICKED(ende%):EE%=1
    Case CLICKED(aufruf%):STARTE_AUFRUF

EndWhile

end
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
22.10.2008  
 



Nach "Papierkorb" suchen?

In diesem Fall sollte man sich eher damit abfinden, dass die Operation nunmal asynchon abläuft. (wie es auch gedacht ist)

Wer so gezielt jedoch den Papierkorb "verwalten" möchte, der müsste halt die Papierkorb-APIs anwenden.
 
22.10.2008  
 



@iF
Das war nur ein Beispiel -
Es geht um 15 verschiedene Windows-Funktionen, die wahlweise gestartet werden können und hier soll
nach dem Schliessen der jeweiligen Funktion eine Aktion stattfinden ! - Compri ???
 
22.10.2008  
 



Ich nix Compri Problem. Compri doch mal auch gleich Herunterfahren. Ist ja auch eine "Windows-Funktion". Eine 16.! Nur ein <b>Beispiel</b>!
 
22.10.2008  
 



@Lieber iF
In einem kleinen Tool aus meiner Feder werden im Menu 15 Windows-Funktionen zur Verfügung gestellt. (der Code dafür schwirrte hier irgendwo rum) - Um aber bei diesem Programm Set("Autopaint",0) zu umgehen, muss ich aus einem bestimmten Grund NACH dem Schliessen der jeweiligen Windows-Funktion eine bestimmte Procedur aufrufen (ein Teil der Oberfläche (Icons) wird nämlich durch das neu geöffnete Fenster gelöscht) und mit dieser Procedur werden diese Icons wieder hergestellt. So, wie dankenswerterweise Roland mir geholfen hat, funktioniert die Sache jetzt. Compri ?
 
22.10.2008  
 




Jörg
Sellmeyer
und jetzt Alle:
"Ich soll in einem anspruchsvollen und vernünftig erscheinenden Programm kein "DrawIcon" verwenden, sondern mit Create() ein Handle erzeugen und das einem Static zuweisen!"
.
.
.
.
.
.
.
.
.
Amen!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
22.10.2008  
 




E.T.

Jörg Sellmeyer: und jetzt Alle:
"Ich soll in einem anspruchsvollen und vernünftig erscheinenden Programm kein "DrawIcon" verwenden, sondern mit Create() ein Handle erzeugen und das einem Static zuweisen!"
.


In XP10 hab das Handle dann einem Control zugewiesen (zuweisen müssen, weils ein Button mit 2-zeiligem Text war), und hab das Dingens immer "refresht", wenn ich aus einer waitinput-Schleife zurück war.

Obs jetzt in XP11 einfacher geht, muß ich erst mal checken (habs erst seit ner Woche) 
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
22.10.2008  
 



@Jörg - per Alle


CASE 1L$ > "":w32_DrawIcon(%hdc,340,265,ExtractAssociatedIcon(1L$+"\",1))


Dann mach mal ;)
 
23.10.2008  
 




Andreas
Miethe


Horst Horn
@Jörg - per Alle

Horst Horn
CASE 1L$ > "":w32_DrawIcon(%hdc,340,265,ExtractAssociatedIcon(1L$+"\",1))


Dann mach mal ;)


Verstehe zwar nicht wie der Code mit fehlenden Parametern funktionieren soll, aber so sollte es gehen.

Horst Horn
CASE 1L$ > "":w32_DrawIcon(%hdc2,340,265,ExtractAssociatedIcon(1L$+"\",1)):repaint
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
25.10.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.456 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie