Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Aspettare chiusura di un applicazione.

    Ciao!
    Come faccio a sapere quando ho chiuso il mio documento Word aperto con ShellExecute?

    Ho fatto un timer ma nn so cosa mettere per effettuare il controllo.

    Il fatto è che il mio software apre il doc word con shellExecute e quando il doc viene chiuso esegue delle operazioni sul file...solo che non so come controllare quando è stato kiuso o meno...

    GRAZIE!!!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Linguaggio ? Regolamento ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Linguaggio: VB6

    Mi son dimenticata....

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho aggiunto io il linguaggio, ma va sempre inserito come da Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    prova a controllare lo stato del processo.
    shellexecute ti restituisce il PID
    controllalo periodicamente con la funzione GetExitCodeProcess
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Re: Moderazione

    Originariamente inviato da alka
    Ho aggiunto io il linguaggio, ma va sempre inserito come da Regolamento.
    Lo so!!! Mi son dimenticataaa!

    Originariamente inviato da xeregallo
    shellexecute ti restituisce il PID
    controllalo periodicamente con la funzione GetExitCodeProcess
    ora faccio una ricerca...non l'ho mai sentite ste funzioni! VVoVe:

  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    aiuto! Non ci capisco nulla!

    Il punto è che io ho dichiarato una variabile di tipo Long per l'uso della ShellExecute e quel tipo di oggetto non mi da nessuna proprietà o altro...

  8. #8
    codice:
    Private Const PROCESS_QUERY_INFORMATION = &H400
    Private Const STATUS_PENDING = &H103&
    
    Private Declare Function OpenProcess Lib "kernel32" _
        (ByVal dwDesiredAccess As Long, _
        ByVal bInheritHandle As Long, _
        ByVal dwProcessId As Long) As Long
    
    Private Declare Function GetExitCodeProcess Lib "kernel32" _
        (ByVal hProcess As Long, lpExitCode As Long) As Long
    
    Private Declare Function CloseHandle Lib "kernel32" _
        (ByVal hObject As Long) As Long
    
    Private Sub ShellAndWait(sFile As String, Visualizzazione As Long)
    Dim hProcess As Long
    Dim ProcessId As Long
    Dim CodExit As Long
    
        ProcessId = Shell(sFile, Visualizzazione)
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)
        Do
            Call GetExitCodeProcess(hProcess, CodExit)
            DoEvents
        Loop While CodExit = STATUS_PENDING
    
        Call CloseHandle(hProcess)
    End Sub
    sostituisci la shell con shellexecute
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Grazie Xere!
    Allora...premetto che non ho ben capito come usare il codice....cmq...io ho messo:

    codice:
    ProcessId = ShellExecute(Handle, "open", App.Path & "\archivio\libro.doc", 0, 0, 1)
    al posto di:

    codice:
    ProcessId = Shell(sFile, Visualizzazione)

    poi nel mio programma uso un bottone per avviare il tutto dove ho rikiamato la funzione con:

    codice:
    Private Sub bttApriWord_Click()
            ShellAndWait
    end sub
    solo che mi da errore...:
    "Argomento non facoltativo"....è che sto andando un po' alla cieca perchè nn conosco queste API...

  10. #10
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    spetta spetta! Forse ci sono arrivata!


    Ho tolto la dichiarazione:

    (sFile As String, Visualizzazione As Long)


    visto che io non uso variabili per definire quei valori!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.