Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Zugriff auf Sicherheitscenter von WinXP SP2 (https://www.delphipraxis.net/47387-zugriff-auf-sicherheitscenter-von-winxp-sp2.html)

gauggi 31. Aug 2009 20:50

Re: Zugriff auf Sicherheitscenter von WinXP SP2
 
Hallo!

Gibt es einen Ersatz für "Longet". Weder Lazarus noch mein Turbo Delphi mögen "Longet".

Die Muhkuh 31. Aug 2009 21:01

Re: Zugriff auf Sicherheitscenter von WinXP SP2
 
Meinst Du LongInt?

x000x 1. Sep 2009 08:16

Re: Zugriff auf Sicherheitscenter von WinXP SP2
 
moin moin,

@gauggi: Wie ich dir schon per PN geschrieben habe, ich kann in meinem Quelltext kein Longet finden. Zeigt doch mal die Stelle wo du Probleme hast, ist ja evtl. nur nen typo...

Zacherl 4. Okt 2009 17:17

Re: Zugriff auf Sicherheitscenter von WinXP SP2
 
Unter Windows 7 scheint funktioniert das Auslesen leider nicht mehr :? Hat da jemand ne Idee? Ich vermute mal, da müssen nur ein Paar Strings angepasst werden.

x000x 5. Dez 2011 21:37

AW: Zugriff auf Sicherheitscenter von WinXP SP2
 
Moin moin,

der Vollständigkeit halber und um die Frage zu beantworten hier die Lösung (besser spät als nie):
Delphi-Quellcode:
uses {..,} ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);
var
  SWbem,
  SWbemCon,
  SWbemQuery,
  objVar : OleVariant;
  szWQL : String;
  pFetched : LongInt;
  unknown : IUnknown;
  enumUnk : IEnumUnknown;
  Counter : Integer;
  boIsWinXP: Boolean;
const
  ARR_NAMESPACE : Array[False..True] of String = ('SecurityCenter2', //Vista/Win7
                                                  'SecurityCenter'); //WinXP

            procedure Display(szValue: String = ''; szData : String = '');
            begin
               Form1.Canvas.TextOut(20 , Counter, szValue);
               Form1.Canvas.TextOut(200, Counter, szData );
               inc(Counter, 17);
            end;

begin
   boIsWinXP := False; //get win version
   Canvas.FillRect(Rect(0,0,form1.Width,form1.Height));
   Counter := 20;
   CoInitialize(nil);
   try
      SWbem := CreateOleObject('WbemScripting.SWbemLocator');
      // strServer, strNamespace, strUser, strPassword, strLocale, strAuthority,
      // iSecurityFlags, objwbemNamedValueSet
      SWbemCon := SWbem.ConnectServer('', 'root\'+ARR_NAMESPACE[boIsWinXP], '', '', '');

      //szWQL := 'Select * from AntiSpywareProduct'; // not in WinXP
      szWQL := 'Select * from AntiVirusProduct';
      SWbemQuery := SWbemCon.ExecQuery(szWQL,'WQL', 48);
      unknown := SWbemQuery._NewEnum;
      unknown.QueryInterface(IEnumVariant, enumUnk);

      VarClear(objVar);
      OleCheck(enumUnk.Next( 1, objVar, @pFetched ));
      if (pFetched <> 0) then begin
         if boIsWinXP then begin
            Display('companyName:'              , VarToStr(objVar.companyName));
            Display('displayName:'              , VarToStr(objVar.displayName));
            Display('enableOnAccessUIMd5Hash:'  , VarToStr(objVar.enableOnAccessUIMd5Hash));
            Display('enableOnAccessUIParameters:', VarToStr(objVar.enableOnAccessUIParameters));
            Display('instanceGuid:'             , VarToStr(objVar.instanceGuid));
            Display('onAccessScanningEnabled:'  , VarToStr(objVar.onAccessScanningEnabled));
            Display('pathToEnableOnAccessUI:'   , VarToStr(objVar.pathToEnableOnAccessUI));
            Display('pathToUpdateUI:'           , VarToStr(objVar.pathToUpdateUI));
            Display('productUptoDate:'          , VarToStr(objVar.productUptoDate));
            Display('updateUIMd5Hash:'          , VarToStr(objVar.updateUIMd5Hash));
            Display('updateUIParameters:'       , VarToStr(objVar.updateUIParameters));
            Display('versionNumber:'            , VarToStr(objVar.versionNumber));
         end else begin
            Display('displayName:'              , VarToStr(objVar.displayName));
            Display('instanceGuid:'             , VarToStr(objVar.instanceGuid));
            Display('pathToSignedProductExe:'   , VarToStr(objVar.pathToSignedProductExe));
            Display('pathToSignedReportingExe:' , VarToStr(objVar.pathToSignedReportingExe));
            Display('productState:'             , VarToStr(objVar.productState));
         end;
      end else
         Display('No supported AV products found...');
      Display('---------------------------------------------');

      szWQL := 'Select * from FirewallProduct';
      SWbemQuery := SWbemCon.ExecQuery(szWQL,'WQL', 48);
      unknown := SWbemQuery._NewEnum;
      unknown.QueryInterface(IEnumVariant, enumUnk);

      VarClear(objVar);
      OleCheck(enumUnk.Next( 1, objVar, @pFetched ));
      if (pFetched <> 0) then begin
         if boIsWinXP then begin
            Display('Company Name:'     , VarToStr(objVar.companyName));
            Display('Display Name:'     , VarToStr(objVar.displayName));
            Display('Enabled:'          , VarToStr(objVar.enabled));
            Display('enableUIParameters:', VarToStr(objVar.enableUIParameters));
            Display('pathToEnableUI:'   , VarToStr(objVar.pathToEnableUI));
            Display('versionNumber:'    , VarToStr(objVar.versionNumber));
         end else begin
            Display('displayName:'              , VarToStr(objVar.displayName));
            Display('instanceGuid:'             , VarToStr(objVar.instanceGuid));
            Display('pathToSignedProductExe:'   , VarToStr(objVar.pathToSignedProductExe));
            Display('pathToSignedReportingExe:' , VarToStr(objVar.pathToSignedReportingExe));
            Display('productState:'             , VarToStr(objVar.productState));
         end;
      end else
         Display('No supported FW products found...');
   finally
      CoUnInitialize;
   end;
end;
Unter Vista/Win7 funktioniert ebenfalls die Abfrage auf: AntiSpywareProduct (Siehe Kommentar)

Siehe auch: The Road to Delphi


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz