Autor Beitrag
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 16.08.03 09:19 
Sichert und stellt die Icon Positionen der Desktopicons wiederher (nur NT ff.)

Mein Dank geht an Nico, der für den Kern des Codes zuständig war. :wink:

Download: LuckieDIPS
mortus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Sa 16.08.03 18:44 
tschuldigung. wollte ich eigentlich nicht absenden
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 16.08.03 18:49 
Was hast du denn schlimmes geschrieben?
mortus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 27



BeitragVerfasst: Sa 16.08.03 18:54 
Habe gedacht, du haettest ein Beispiel aus einem Buch von Jeffrey Richter nach Delphi uebersetzt und mit deinem Namen versehen. Dann habe ich mir den Quelltext angesehen und wollte es eigentlich nicht mehr absenden :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 16.08.03 19:35 
Aber selbst dann hätte ich mein Copyright druntersetzen können, da man Jeffrey Richters Code nicht einfach eins zu eins übersetzen kann, da der Delphi Compiler keine Shared Resources unterstützt. Kuck dir mal in meiner Ablage unter Exports die Dipsscr.zip an. Das ist die Delphi-Übersetzung des Programmes vom Richter von Nico. Und da, wie gesagt, Delphi dieses Feature nicht unterstützt, mußte er einige recht interessanten Klimmzüge machen. :wink:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 17.08.03 08:54 
Neue Version ist da: 1.1

Was ist neu? Die Ini-Datei mit den Iconpositionen wird jetzt nicht mehr im Programmverzeichnis gespeichert, wo der Anwender eventuell keine Schreibrechte hat, sondern in seinem persönlichen lokalen Einstellungen für die Anwendungsdaten, zum Beispiel:
ausblenden Quelltext
1:
x:\Dokumente und Einstellungen\username\Lokale Einstellungen\Anwendungsdaten					


Download: LuckieDIPS [29 KB]
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.08.03 10:45 
Kleine Kritik am Rande: Wenn das Programm nur unter NT und höher funktioniert, warum kann ich´s dann unter 98 starten? :)
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 20.08.03 20:06 
Vielleicht enthält die kernel32.dll von Win98 ebenfalls eine Funktion namens VirtualAllocateEx?

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.08.03 21:46 
Das habe ich aber nicht gemeint. Wenn ich mein Programm so gestalte, dass es -warum auch immer?- nur unter NT und Co. funktioniert, dann sollte ich auch den Start unter "unerwünschten" Systemen blockieren. - Oder aber eine Lösung suchen, damit es vielleicht auch unter 9x und ME klappt. :roll:

Im Augenblick wird diese Bedingung
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
    MemLocal := VirtualAlloc(nil, Size, MEM_RESERVE or MEM_COMMIT,
      PAGE_READWRITE);
    MemRemote := VirtualAllocEx(Process, nil, Size, MEM_RESERVE or MEM_COMMIT,
      PAGE_READWRITE);
    if Assigned(MemLocal) and Assigned(MemRemote) then
    try
      { ... }

in der Prozedur "GetDesktopIconInfo" jedenfalls nicht erfüllt. Präziser gesagt, es scheitert an VirtualAllocEx, weil
PSDK hat folgendes geschrieben:
Requirements
Client: Included in Windows XP, Windows 2000 Professional, and Windows NT Workstation 4.0.
Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server 4.0.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 20.08.03 22:20 
Richtig, das meinte ich. Da VirtualAllocEx in der windows.pas statisch importiert wird, sollte eigentlich beim Start eine Meldung kommen. Oder kommen da die Fehlermeldungen erst, wenn man die Funktion aufruft? Ich weiß nicht genau, ist ne Weile her, seitdem ich mich damit beschäftigt hab.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.08.03 22:38 
Es kommt keine Fehlermeldung. Weder wg. des statischen Imports (?), noch in der genannten Funktion in Luckies Programm. Der Bedingung zweiter Teil
ausblenden Delphi-Quelltext
1:
and Assigned(MemRemote)					

ist einfach nicht erfüllt, und darum geht´s nicht weiter.

Es wäre für mich persönlich übrigens noch interessant, einen NT4-Besitzer um einen Test zu bitten. Laut PSDK ist die Konstante CSIDL_PROFILE erst in der Shell-Version 5.0 vorhanden. Möglicherweise reichen ein paar Updates von Microsoft, möglicherweise kann unter NT4 aber auch das Verzeichnis nicht gefunden und die INI-Datei nicht angelegt werden.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 20.08.03 23:16 
Ich wußte, dass ich was vergessen hatte. :roll:

Wird gefixt.

...

Ist gefixt.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 20.08.03 23:33 
Was mich trotzdem wundert: VirtualAllocEx wird bei Win98, wie du sagst, anstandlos aufgerufen. Kannst du mal im Dependeny Walker nachschauen, obs diese Funktion in der Kernel-DLL drin ist: Denn nach meinem Verständnis müsste folgende Zeile eine Access Violation hervorrufen, wenn die Funktion nicht geladen werden konnte, weil sie nicht existiert:

ausblenden Delphi-Quelltext
1:
2:
MemRemote := VirtualAllocEx(Process, nil, Size, MEM_RESERVE or MEM_COMMIT,
      PAGE_READWRITE);

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Mi 20.08.03 23:40 
Habs jetzt nochmal ausprobiert. Wenn es die Funktion nicht geben würde, würde beim Starten des Programms folgende Fehlermeldung ausgegeben werden:
Zitat:
Der Prozedureinsprungspunkt "VirtualAllocExA" wurde in der DLL "kernel32.dll" nicht gefunden.
[/quote]

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 05:21 
Und noch eine neue Version: 1.2
- Speicherort der Ini-Datei jetzt 'C:\Dokumente und Einstellungen\%username%\Lokale Einstellungen\Anwendungsdaten\LuckieDIPS
- Schaltfläche zum Entfernen der Datei und des Ordners hinzugefügt. @Mathias: :tongue:

Download: [url=www.luckie-online.de...zip]LuckieDIPS[/url] [30 KB]
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 08:29 
bezüglich:
Luckie hat folgendes geschrieben:
@Mathias: :tongue:

Ich habe nämlich einen INI-Cleaner für Admins geschrieben, der kurzerhand nach Luckies INI-Datei sucht und entfernt. Und zwar für alle Benutzer. Nachdem mir der Kollege Luckie nun seine Zunge rausgestreckt hat, habe ich es erst mal so erweitert, dass es nun auch den neuen Ordner entfernt. Mal seh´n, vielleicht biete ich es im Rahmen meiner neuen Produktlinie Kill Luckie's tools öffentlich an. :wink:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 09:43 
Mal sehen, dann generiere ich den Ordnernamen mit einem Keygenerator oder so.

Aber ich bin dir ja sehr verbunden, dass du dich so darum sorgst, dass sich meine Tools restlos wieder entfernen lassen. :roll:
Sollte ich allerdings eins deiner Luckie-Removal-Tools bei Symantec oder so wieder finden, dann richte dich darauf ein, dass ich irgendwann bei dir vor der Tür stehe und wenn ich wieder weg bin, dürfte von deinem PC nicht mehr all zu viel übrig sein. :x
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 10:16 
Schau mal auf meine HP. In die Beta-Area unter Delphi. :mrgreen:
Eyh, is´ nur Spaß! *kicher*

(@Tino: :wink: Hab mir mal was ausgeborgt.)

Grüße.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 10:22 
Laß drauf, meine Antwort kommt noch.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 10:29 
Kuckst die hier: www.luckie-online.de/ . :tongue: