Autor |
Beitrag |
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 24.02.06 20:24
Im Anhang die Demo mit aktueller MpuNTUser.pas
Einloggen, um Attachments anzusehen!
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 24.02.06 20:27
Scheint nicht zu funktionieren... Leere Box...
AXMD
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 24.02.06 20:30
Dann guck mal in den Quellcode. Ich glaube nicht, dass dein Rechner HAL9000 heißt. 
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 24.02.06 20:32
*räusper*  Hab nur die Demo ausgeführt, weil ich grade nichts besseres zu tun hatte
AXMD
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 24.02.06 20:34
Ich war zu faul noch den Computernamen zu ermitteln, obwohl ich dafür wohl auch was passendes in der Unit MpuTools.pas hätte. 
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Fr 24.02.06 21:17
@Luckie:
Jetzt hab' ich's! So klappt es, und ich kann dann anfangen, mir einen Dialog zu stricken! Vielen Dank! 
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Sa 25.02.06 12:48
Bei Windows werden nur jene User aufgelistet, die ich selbst eingerichtet habe. Kann man die Usernamen auch filtern, so wie Windows das macht?
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.02.06 14:26
Das sollte nicht sein. Bei mir wird zum Beispiel auch das Supportkonto angezeigt, welches Windows bei der Installation automatisch anlegt.
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Sa 25.02.06 15:03
Luckie hat folgendes geschrieben: | Bei mir wird zum Beispiel auch das Supportkonto angezeigt, welches Windows bei der Installation automatisch anlegt. |
Ja, stimmt, Administrator ist auch dabei. Momentan bin ich als "normaler" User eingeloggt, und es werden mir zwei Usernamen angezeigt: Administrator (=Windows) und galagher (=Admin-Rechte). Sonst nichts. Es wird also gefiltert und ausserdem der Name des aktuellen Users herausgenommen. Das bekomme ich schon hin: Einfach den Usernamen eruieren und den entsprechenden Eintrag in der ComboBox löschen.
Aber wie könnte man selbst so einen Filter schreiben? Was unterscheidet selbst eingerichtete Usernamen von solchen, die sagen wir mal "software-mässig" eingerichtet wurden?
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.02.06 15:30
Kann ich nicht bestätigen, siehe Anhang. Das sind alle Benutzer auf meinem Rechner, die auch in der Benutzerverwaltung von Windows angezeigt werden.
Einloggen, um Attachments anzusehen!
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Sa 25.02.06 16:38
Luckie hat folgendes geschrieben: | Kann ich nicht bestätigen, siehe Anhang. Das sind alle Benutzer auf meinem Rechner, die auch in der Benutzerverwaltung von Windows angezeigt werden. |
So ähnlich sieht's bei mir ja auch aus. Nur, woher kommt "APPNET", "Gast", "Hilfeassistent"? Die habe ich doch nicht angelegt, sondern Windows! Keine Ahnung, welches Passwort ich bei Gast eingeben muss - kein Passwort klappt nicht. Ich möchte die Auswahl gerne auf jene User reduzieren, die nicht automatisch von Windows angelegt wurden. Geht das überhaupt?
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.02.06 16:46
Ach so, du hat alle, willst aber nur die, die nachträglich angelegt wurden? Ich wüßte nicht, in was sich diese Konten unterscheiden sollten.
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Sa 25.02.06 18:20
Luckie hat folgendes geschrieben: | Ach so, du hat alle, willst aber nur die, die nachträglich angelegt wurden? |
Genau!
Luckie hat folgendes geschrieben: | Ich wüßte nicht, in was sich diese Konten unterscheiden sollten. |
Schade, ich dachte, jemand kennt eine Möglichkeit, nur nachträglich angelegte Konten auszulesen. Windows macht offenbar genau das.
Aber deine Hilfe hat mich schon sehr weit gebracht (Danke!!!) - der Dialog steht und es klappt alles soweit. Nur kein Mensch (jedenfalls ich nicht) weiss, welches Passwort zB. "Gast" erfordert! Und zB. APPNET - damit werden wohl die wenigsten etwas anfangen können.
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mi 08.03.06 11:38
Blackheart666 hat folgendes geschrieben: | Lief unter Delphi 4 und ME nicht getestet. |
Wenn man folgendes:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure ausfuehren(AnzeigeLetzterBefehl, modal: boolean; icon: Hicon); var flg, own: longint; begin if modal then own := application.handle else own := 0; if AnzeigeLetzterBefehl then flg := 0 else flg := 2; shrundialog(own, icon, 0, 'Ausführen', 'Geben Sie den Namen eines Programms, Ordners, ' + 'Dokuments oder einer Internetressource an.', flg); end; |
... ändert zu:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure ausfuehren(AnzeigeLetzterBefehl, modal: boolean; icon: Hicon); var flg, own: longint; Text, Title: String; begin Title := 'Ausführen'; Text := 'Geben Sie den Namen eines Programms, Ordners, ' + 'Dokuments oder einer Internetressource an.'; if modal then own := application.handle else own := 0; if AnzeigeLetzterBefehl then flg := 0 else flg := 2; shrundialog(own, icon, 0, PChar(Title[1]), PChar(Text[1]), flg); end; |
... dann ist die Textanzeige korrekt. Ich verstehe aber nicht, was es mit diesem PChar(Text[1]) auf sich hat, weil man genauso gut PChar(Text[25]) angeben kann und es immer noch funktioniert. Auch ist es egal, ob Title und Text als PChar oder String deklariert werden.
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 08.03.06 13:02
So sieht es besser aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| function SHRunDialog (Owner, IconHandle, Unknow: longint; Title, Prompt: LPWSTR; Flags: longint): longint; stdcall; external 'Shell32.dll' INDEX 61; procedure RunDialog(hOwner: THandle; const Caption, Text:String; ShowLastCmd: Boolean; ShowModal: boolean; hIcon: HIcon); var Flag, own: longint; begin if ShowModal then own := hOwner else own := 0; if ShowLastCmd then Flag := 0 else Flag := 2; SHRunDialog(hOwner, hIcon, 0, PWideChar(WideString(Caption)), PWideChar(WideString(Text)), Flag); end;
procedure TForm1.Button1Click(Sender: TObject); begin RunDialog(Handle, 'Ausführen', 'Wählen Sie eine Anwendnung aus', True, True, Icon.Handle); end; |
Das sind keine einfachen PChar's sondern PWideChar's  Man sollte ummer die Parameterdeklaration beachten und auch dort immer den Windows Datentyp nehmen und nicht den Delphi eigenen, obwohl diese im Endeffekt natürlich identisch sind. Man ist dann aber konform mit der Deklaration in den Header-Dateien und man weiß dass ein LPWSTR erwartet wird und kein PWideChar, den es unter Windows gar nicht gibt.
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mi 08.03.06 13:50
Danke, klappt!
Wie kann man die Position bestimmen, an der der Dialog erscheint?
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 08.03.06 14:48
Gar nicht. Mit ShowModal wird er wohl an der lionken oberen Ecke der Clientarea des Fensters ausgerichtet.
|
|
galagher 
      
Beiträge: 2556
Erhaltene Danke: 45
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Mi 08.03.06 15:54
Luckie hat folgendes geschrieben: | Mit ShowModal wird er wohl an der lionken oberen Ecke der Clientarea des Fensters ausgerichtet. |
Stimmt. Ist ja auch egal, Hauptsache, es funktioniert! Danke dir!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|