desktop erknuepfung verschieben
-
hi leute,
wie kann ich eine verknüpfung auf dem desktop verschieben, muss man die verknüpfung wie ein fenster behandeln, oder gibt es bestimmte funktionen dafuer. ich benutze : (win98, VC++). danke.
-
Eigentlich kannste die *.lnk Datei auch einfach per MoveFile() / MoveFileEx() verschieben.
Das Ziel auf der Link zeigt wird natürlich nicht verändert...
-
mit verschieben meine ich platzieren... meine eigene links, aber auch den papierkorb oder den arbeitsplatz
-
Das geht über COM-Schnittstellen und hat m.E. mit den API-Funktionen nichts zu tun.
-
Oh, das geht auch mit API. Das HWND des Desktops bekommst Du so:
HWND hWndListView = GetWindow(GetWindow(FindWindow(TEXT("ProgMan"), NULL), GW_CHILD), GW_CHILD);Danach kannst Du ListView_SetItemPosition() verwenden (*ohne* die 32 am Ende!). Die Symbole dürfen natürlich nicht automatisch angeordnet werden.
[ Dieser Beitrag wurde am 24.05.2002 um 12:06 Uhr von -King- editiert. ]
-
danke!!!

-
Servus nochmal,
ich habe hier mal noch ein Beispiel hochgeladen, was es auf eine andere Art löst..
http://www.win-api.com/?content=resources&KW=Windows
-
...besonders konsistent bist Du nicht gerade, was die Rückgabewerte Deiner DialogProc da angeht, was?
Mal steigst Du mit break aus, dann mal wieder mit return TRUE... was der DialogManager dazu sagt ist Dir Wurst, oder wie?
Dann braucht man nicht 20 (wieso eigentlich 20?) mal den Mauszeiger zu positionieren, um an den FensterHandle des Desktops zu kommen, da reicht ein einziger Aufruf von GetDesktopWindow...
-
-King- schrieb:
Die Symbole dürfen natürlich nicht automatisch angeordnet werden.
Weißt du zufällig, wo das geht, Registry Option oder so?¿
-
Hab ich mir schon halber gedacht... Bedank Dich halt noch mehr dafür dass ich helfen will. Vielen Dank
-
[...] // Wenn die Bezeichnung NICHT "FolderView" ist, // dann Minimiere das Window (es ist bestimmt // irgend ein Programmfenster. if(strcmp(szWndText, "FolderView") != 0){ [...]jetzt weiß ich auch, warum mein desktop minimiert wird, wenn ich das prog teste.
"es ist bestimmt irgend ein Programmfenster." - jaja, von wegen.
kann mich Hepi leider nur anschließen...
überarbeite deinen code doch nochmal, damit alles passt.
@TheToast: ich vermute mal ganz stark, dass sowas in der msdn steht

-
Ich glaub nicht dass auf der Position 5|5 eine SysListView ist. 99,9%ig eine Titelleiste. Es steht ja in der Beschreibung, dass es direkt mit GetDesktopWindow geht, stimmt also alles schon längst.