code: def get_environment(self, fUnicode = None):
          
  
          # Get the environment variables.
          variables = self.get_environment_variables()
  
          # Convert the strings to ANSI if requested.
          if fUnicode is None:
              gst = win32.GuessStringType
              fUnicode = gst.t_default == gst.t_unicode
          if not fUnicode:
              variables = [ ( key.encode('cp1252'), value.encode('cp1252') ) \
                          for (key, value) in variables ]
  
          # Add the variables to a dictionary, concatenating duplicates.
          environment = dict()
          for key, value in variables:
              if key in environment:
                  environment[key] = environment[key] + u'\0' + value
              else:
                  environment[key] = value
  
          # Return the dictionary.
          return environment
docs: Retrieves the environment with wich the program is running.
  
          @note: Duplicated keys are joined using null characters.
              To avoid this behavior, call L{get_environment_variables} instead
              and convert the results to a dictionary directly, like this:
              C{dict(process.get_environment_variables())}
  
          @see: L{win32.GuessStringType}
  
          @type  fUnicode: bool or None
          @param fUnicode: C{True} to return a list of Unicode strings, C{False}
              to return a list of ANSI strings, or C{None} to return whatever
              the default is for string types.
  
          @rtype:  dict(str S{->} str)
          @return: Dictionary of environment keys and values.
  
          @raise WindowsError: On error an exception is raised.