se ho un'attività pianificata Windows che esegue il file EXE. c'è un modo da dentro il mio EXE per trovare l'istanza dell'attività pianificata che mi ha attivato?come posso trovare l'ID InstanceID/correlazione della operazione pianificata che ha iniziato il mio processo
risposta
Risposta facile per quello sarebbe: no.
La cosa migliore che si può fare è accedere in modo programmatico alla libreria del task scheduler e vedere se il processo si è in modalità "in esecuzione", ottenere il PID del processo (lo scheduler lo scrive effettivamente nella sua cronologia) e confrontarlo al tuo.
La cosa più semplice da fare sarebbe accedere ai registri eventi di sistema e vedere se c'è qualche riferimento all'esecuzione del file exe (anche se potrebbe non essere un log di questo tipo se l'exe è stato effettivamente eseguito).
L'unica cosa che è possibile associare al processo è il chiamante (che potrebbe essere SERVIZIO DI RETE o un account predefinito) che non fornisce alcuna informazione in merito alla sua programmazione.
Ho provato per un tempo per risolvere questo stesso problema, tuttavia non sembra possibile utilizzando l'API corrente. Se si dispone di un riferimento all'attività in esecuzione, è possibile ottenere il PID del motore di attività che l'ha avviato. Da lì, si possibile di andare al registro eventi compito e cercare gli ultimi eventi con ID 200 (azione introduttiva) aventi lo stesso PID del motore, ma dal momento che è possibile avere più processi attività in esecuzione sotto un unico motore di attività, è possibile 't andare oltre con assoluta certezza (ad esempio, una seconda istanza del processo potrebbe essere in esecuzione sotto lo stesso PID del motore - non sarà in grado di dire quale ID di correlazione appartiene al vostro processo di destinazione.)
- 1. Vai: Come posso avviare il browser DOPO che il server ha iniziato ad ascoltare?
- 2. Ho iniziato un processo, come posso chiamare un metodo in quel processo
- 3. Come posso trovare il mio pacco?
- 4. Are 'processo pianificato" e 'operazione pianificata' la stessa cosa in un contesto Powershell
- 5. Impossibile ottenere Postgres ha iniziato
- 6. Powershell Set Lid Close Azione
- 7. Perché il mio processo termina?
- 8. Come posso trovare il mio percorso Python usando python?
- 9. Come uccidi Futures dopo che hanno iniziato?
- 10. onStartCommand dopo che il processo di servizio è terminato quando è iniziato con START_STICKY
- 11. Il processo asincrono ha inizio e aspetta che finisca
- 12. Come posso trovare perdite di memoria nel mio programma Python?
- 13. Come posso impostare il mio Cygwin PATH per trovare javac?
- 14. perché non posso collegarmi al mio processo?
- 15. Eliminazione della conferma "buffer ha processo in corso" quando il processo è un processo flymake
- 16. Come trovare il mio php-fpm.sock?
- 17. Come posso eseguire il mio codice al caricamento della classe?
- 18. Come posso sapere se un processo ha un'interfaccia grafica?
- 19. Posso forzare un'esecuzione extra di un'esecuzione pianificata?
- 20. Come posso assicurarmi che tutto il mio codice Python "compili"?
- 21. Perché il mio Visual Studio ha iniziato a comportarsi in questo modo? iisexpress non riesce a trovare o aprire il file PDB
- 22. Trova il pid di Visual Studio che esegue il debug del mio processo
- 23. Youtube iframe api ha iniziato a dare errori in Firefox
- 24. Come trovare il determinante della matrice grande
- 25. Dove posso trovare il file application.exe.config nel mio progetto C#?
- 26. Come posso ottenere una miniatura da un video che un utente ha caricato sul mio server?
- 27. Come posso forzare il redraw del browser mentre il mio script sta elaborando un processo pesante?
- 28. Come posso evitare che venga raschiato il mio sito asp.net?
- 29. Come rendere il mio programma un processo in background
- 30. PowerShell - Crea operazione pianificata per l'esecuzione del sistema/servizio come locale