我喜歡在桌面上使用大圖標,但很多時候它們恢復到正常大小,仍然無法追蹤爲什麼:)。 作爲一名程序員,我決定編寫自己的工具來保存和恢復圖標位置。谷歌搜索並沒有提供太多的信息。 任何人都可以給我一個提示或指向我可以開始的地方嗎?如何從Delphi中獲取/設置桌面圖標的位置和大小?
1
A
回答
2
你不可靠。雷蒙德陳explains why在這個職位。
基本上,這是因爲沒有辦法強制圖標位於桌面上的特定位置,這意味着無法指定單個圖標的位置。
1
0
閱讀這篇文章,也許它可以幫助:) save-and-restore-desktop-icon-positions
2
在一個時間點,即在Win2k/WinXP中爲肯定,桌面實際上是一個類型的ListView。我不確定在新操作系統中仍然如此。知道獲取桌面句柄並使用LV api函數很容易將其操作爲使用報告樣式進行顯示。
這裏有兩個函數,告訴你如何開始操縱桌面。
注:我知道這適用於WinXP,我認爲它將適用於Vista和Win7,但我沒有測試過它。使用這些示例,不需要花費很長時間編寫一組函數來獲取/設置桌面上所有內容的圖標位置。
procedure ReportStyleDesktop;
var
wHandle : THandle;
wStyle : Longint;
begin
wHandle := GetDesktopWindow;
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'Progman', 'Program Manager');
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'SHELLDLL_DefView', 0);
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'SysListView32', 0);
if wHandle <> 0 then
begin
wStyle := GetWindowLong(wHandle, GWL_STYLE);
wStyle := wStyle and (not LVS_TYPEMASK);
wStyle := wStyle or LVS_REPORT or LVS_ICON;
SetWindowLong(wHandle, GWL_STYLE, wStyle);
end;
end;
procedure NormalStyleDesktop;
var
wHandle : THandle;
wStyle : Longint;
begin
wHandle := GetDesktopWindow;
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'Progman', 'Program Manager');
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'SHELLDLL_DefView', 0);
if wHandle <> 0 then
wHandle := FindWindowEx(wHandle, 0, 'SysListView32', 0);
if wHandle <> 0 then
begin
wStyle := GetWindowLong(wHandle, GWL_STYLE);
wStyle := wStyle and (not LVS_TYPEMASK);
wStyle := wStyle or LVS_ICON;
SetWindowLong(wHandle, GWL_STYLE, wStyle);
end;
end;
+0
謝謝,那好點從 – kuaw26 2009-12-26 08:28:11
相關問題
- 1. 在C中獲取並設置Windows桌面圖標大小#
- 2. 獲取桌面上圖標的位置
- 3. 獲取桌面圖標的位置?
- 4. 設置表面視圖的大小和位置
- 5. 如何設置X11(linux桌面)下的鼠標位置?
- 6. 如何設置圖像的大小和位置?
- 7. 如何設置UIButton圖片的大小和位置
- 8. 從註冊表中讀取桌面圖標位置
- 9. 如何修復桌面的位置如何修復桌面的位置如何修改桌面位置
- 10. 在桌面視圖單元格中設置圖像大小
- 11. 如何動態設置圖像大小和位置
- 12. 如何獲取Mac桌面大小
- 13. 設置OXYPLOT C的位置和大小#
- 14. 設置UIView的位置和大小
- 15. 如何重新設置圖標大小
- 16. 從Windows服務獲取桌面大小?
- 17. 在Enterprise Architect中設置圖表對象的位置和大小
- 18. 獲取桌面上存在位置的圖標和文件的詳細信息?
- 19. 在linux終端中獲取光標位置和終端大小
- 20. 保存表單桌面的位置和大小
- 21. 在Swift中獲取和設置UITextField和UITextView的光標位置
- 22. 在Delphi中設置窗體默認屏幕位置到桌面中心XE5
- 23. 如何在C#桌面應用程序中獲取GPS位置?
- 24. 在CSS中設置圖標的大小
- 25. 基於屏幕大小的圖標大小和位置
- 26. ggplot2中的圖例位置和大小
- 27. 如何設置標籤位置尊重tabcontrol大小?
- 28. 如何設置卡片佈局的位置和大小?
- 29. 如何設置主窗口的位置和大小(編程)?
- 30. 如何設置對話框按鈕的大小和位置libGDX
開始謝謝,很有意思! – kuaw26 2009-12-29 18:37:04