(self)
Populates the snapshot with running processes.
        Only the PID is retrieved for each process.

        Dead processes are removed.
        Threads and modules of living processes are ignored.

        Tipically you don't need to call this method directly, if unsure use
        L{scan} instead.

        @note: This method uses the PSAPI. It may be faster for scanning,
            but some information may be missing, outdated or slower to obtain.
            This could be a good tradeoff under some circumstances.
Populates the snapshot with running processes.
        Only the PID is retrieved for each process.
Populates the snapshot with running processes . Only the PID is retrieved for each process .
def scan_processes_fast(self):
        """
        Populates the snapshot with running processes.
        Only the PID is retrieved for each process.

        Dead processes are removed.
        Threads and modules of living processes are ignored.

        Tipically you don't need to call this method directly, if unsure use
        L{scan} instead.

        @note: This method uses the PSAPI. It may be faster for scanning,
            but some information may be missing, outdated or slower to obtain.
            This could be a good tradeoff under some circumstances.
        """

        # Get the new and old list of pids
        new_pids = set( win32.EnumProcesses() )
        old_pids = set( compat.iterkeys(self.__processDict) )

        # Ignore our own pid
        our_pid  = win32.GetCurrentProcessId()
        if our_pid in new_pids:
            new_pids.remove(our_pid)
        if our_pid in old_pids:
            old_pids.remove(our_pid)

        # Add newly found pids
        for pid in new_pids.difference(old_pids):
            self._add_process( Process(pid) )

        # Remove missing pids
        for pid in old_pids.difference(new_pids):
            self._del_process(pid)
def scan_processes_fast ( self ) : # Get the new and old list of pids new_pids = set ( win32 . EnumProcesses ( ) ) old_pids = set ( compat . iterkeys ( self . __processDict ) ) # Ignore our own pid our_pid = win32 . GetCurrentProcessId ( ) if our_pid in new_pids : new_pids . remove ( our_pid ) if our_pid in old_pids : old_pids . remove ( our_pid ) # Add newly found pids for pid in new_pids . difference ( old_pids ) : self . _add_process ( Process ( pid ) ) # Remove missing pids for pid in old_pids . difference ( new_pids ) : self . _del_process ( pid )