AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Netzwerkkennwort dialog anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerkkennwort dialog anzeigen

Ein Thema von SleepyMaster · begonnen am 5. Jul 2004 · letzter Beitrag vom 11. Jul 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#21

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 12:06
hallo nico,

könntest du nicht öfter langeweile haben

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#22

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 12:12
Zitat von kiar:
könntest du nicht öfter langeweile haben
OT: Was kann ich dafür, wenn C-Compiler so lange brauchen
Und irgendjemand muss da nochmal durch und die Parameter auf var/out/const (in/out/optional) überprüfen und eventuell Wrapper schreiben damit das Programm auf älteren Windows-Versionen noch startet...
  Mit Zitat antworten Zitat
DaFox

Registriert seit: 31. Jul 2003
Ort: Kippenheim
90 Beiträge
 
#23

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 12:33
Nico, klasse!! Wieder was gelernt.
Aber was machst bei Windows < XP?

Gruß,
Markus

PS: Den Dialog hab' ich als Resource nur in WinInet.dll gefunden...
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#24

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 14:07
Jo! Super 1000 Dank! Echt spitze!
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#25

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 16:09
Zitat von DaFox:
Aber was machst bei Windows < XP?
Keine Ahnung.
Ich kenne in der Richtung nur noch den 'Xxx auswählen'-Dialog (die objsel.dll ruft den 'Netzwerkkennwort eingeben'-Dialog auf... vielleicht gibt's ja ein Flag um das selbst anzeigen zu lassen... MSDN/Google/Mathias).
Delphi-Quellcode:
uses
  ActiveX, ObjSel;

////////////////////////////////////////////////////////////////////////////////
//
// Test - 'Select User' dialog
//

function InitObjectPicker(Picker: IDsObjectPicker): HRESULT;
var
  ScopeInit: array [0..0] of TDSOPScopeInitInfo;
  InitInfo: TDSOPInitInfo;
begin
  if nil = Picker then
    Result := E_INVALIDARG
  else
  begin
    ZeroMemory(@ScopeInit, SizeOf(ScopeInit));
    ScopeInit[0].cbSize := SizeOf(TDSOPScopeInitInfo);
    ScopeInit[0].flType := DSOP_SCOPE_TYPE_TARGET_COMPUTER;
    ScopeInit[0].flScope := DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE;
    ScopeInit[0].FilterFlags.Uplevel.flBothModes := DSOP_FILTER_USERS;
    ScopeInit[0].FilterFlags.flDownlevel := DSOP_DOWNLEVEL_FILTER_USERS;

    ZeroMemory(@InitInfo, SizeOf(InitInfo));
    InitInfo.cbSize := SizeOf(InitInfo);
    InitInfo.cDsScopeInfos := SizeOf(ScopeInit) div SizeOf(TDSOPScopeInitInfo);
    InitInfo.aDsScopeInfos := @ScopeInit;
    InitInfo.flOptions := DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK;

    Result := Picker.Initialize(InitInfo);
  end;
end;

function ProcessSelectedObjects(DatObj: IDataObject): HRESULT;
var
  StgMed: TStgMedium;
  FmtEtc: TFormatEtc;
  SelLst: PDSSelectionList;
  Index: ULONG;
  Text: string;
begin
  if nil = DatObj then
    Result := E_INVALIDARG
  else
  begin
    with FmtEtc do
    begin
      cfFormat := RegisterClipboardFormat(CFSTR_DSOP_DS_SELECTION_LIST);
      ptd := nil;
      dwAspect := DVASPECT_CONTENT;
      lindex := -1;
      tymed := TYMED_HGLOBAL;
    end;
    Result := DatObj.GetData(FmtEtc, StgMed);
    if Succeeded(Result) then
    begin
      SelLst := PDS_SELECTION_LIST(GlobalLock(StgMed.hGlobal));
      if SelLst <> nil then
      try
        Text := '';
        for Index := 0 to SelLst.cItems - 1 do
        begin
          Text := Text + Format(
            'Object : %u'#13#10 +
            ' Name : %s'#13#10 +
            ' Class: %s'#13#10 +
            ' Path : %s'#13#10 +
            ' UPN : %s'#13#10, [
            Index,
            WideCharToString(SelLst.aDsSelection[Index].pwzName),
            WideCharToString(SelLst.aDsSelection[Index].pwzClass),
            WideCharToString(SelLst.aDsSelection[Index].pwzADsPath),
            WideCharToString(SelLst.aDsSelection[Index].pwzUPN)]);
        end;
        ShowMessage(Text);
      finally
        GlobalUnlock(StgMed.hGlobal);
      end
      else
        Result := E_POINTER;

      ReleaseStgMedium(StgMed);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Picker: IDsObjectPicker;
  DatObj: IDataObject;
begin
  if Succeeded(CoInitialize(nil)) then
  try
    if Succeeded(CoCreateInstance(CLSID_DsObjectPicker, nil,
      CLSCTX_INPROC_SERVER, IID_IDsObjectPicker, Picker)) then
    try
      if Succeeded(InitObjectPicker(Picker)) then
        case Picker.InvokeDialog(Self.Handle, DatObj) of
          S_OK:
            try
              ProcessSelectedObjects(DatObj);
            finally
              DatObj := nil;
            end;
          S_FALSE:
            ShowMessage('Dialog wurde vom Benutzer abgebrochen.');
        end;
    finally
      Picker := nil;
    end;
  finally
    CoUninitialize;
  end;
end;
Angehängte Dateien
Dateityp: pas objsel_361.pas (19,8 KB, 27x aufgerufen)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#26

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 16:19
Zitat von NicoDE:
vielleicht gibt's ja ein Flag um das selbst anzeigen zu lassen... MSDN/Google/Mathias).
Erst bin ich ein Google-Suchbegriff (@DaFox: ), jetzt ein Flag.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#27

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 16:22
Zitat von MathiasSimmack:
Erst bin ich ein Google-Suchbegriff (@DaFox: ), jetzt ein Flag.
War nicht böse gemeint, aber bei solch einem Flag-Monster wie dem Objektauswahl-Dialog, musste ich unweigerlich an die undokumentierten Shell-Fnktionen denken

topic: der 'Netzwerkkennwort eingeben'-Dialog kommt wahrscheinlich wenn versucht wird Objekte von anderen Rechnern (mit o.g. Funktion) anzeigen zu lassen - damit herumzuspielen überlasse ich dem geneigten Entwickler
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#28

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 16:52
Ich hab´s auch nicht böse aufgefasst. Ich musste nur daran denken, dass es Leute gibt, die meinen Namen in Suchmaschinen eintippen ... und DaFox meinte, er stolpert dann in seinen Log-Files drüber. Was wollen diese Leute erfahren? Und warum fragen sie nicht einfach mich?

Abgesehen davon hast du mich erwischt. Undokumentierte API-Funktionen haben mich schon immer interessiert.
  Mit Zitat antworten Zitat
DaFox

Registriert seit: 31. Jul 2003
Ort: Kippenheim
90 Beiträge
 
#29

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 17:37
Hi Mathias!

Zitat von MathiasSimmack:
Was wollen diese Leute erfahren?
Deine Maße, deine Essgewohnheiten oder evtl. das Buch, das Du Dir nachts unters Kissen legst?! I don't know...
Ich würde es einfach als Anerkennung Deiner guten Arbeit ansehen.

Gruß,
Markus
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#30

Re: Netzwerkkennwort dialog anzeigen

  Alt 11. Jul 2004, 17:54
Zitat von MathiasSimmack:
Abgesehen davon hast du mich erwischt. Undokumentierte API-Funktionen haben mich schon immer interessiert.
Nunja, die ist aber nicht undokumentiert...

TOPIC: Nach einem Blick auf CPasswordDialog (objsel.dll) sieht es erstmal so aus als ob man den nicht direkt aufrufen kann. Er wird anscheinend nur von den internen Klassen CBindInfo und CServerInfo (AskForCredsViaSendMessage/AskForCredsViaPostMessage) aufgerufen. Und das scheint nur der Falle zu sein, falls man den Objektauswahl-Dialog (s.o.) aufruft um Objekte von anderen Systemen abzufragen...

...bleibt also die Frage was Du vorher gemacht hast um diesen Dialog zu sehen (und ob Du nur den Passwort-Dialog anzeigen willst - dann halt nur ab WinXP mit Angabe eines ähnlichen Textes wie CPasswordDialog (s.w.o)).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz