我已經構建了一個將網格線應用於圖像或僅用於作爲桌面壁紙的簡單顏色的簡單應用程序。這個想法是桌面圖標可以安排在網格中。問題是,根據比我所瞭解的更多的事情,像素中的實際間距似乎因系統而異。我瞭解到,至少這些東西發揮的一個因素:用於在Windows XP上計算桌面圖標間距的公式或API
- 分辨率(杜)
- 任務欄的大小和位置
- 字體
必須有比這更多。也許有一些我不知道的API調用?
我已經構建了一個將網格線應用於圖像或僅用於作爲桌面壁紙的簡單顏色的簡單應用程序。這個想法是桌面圖標可以安排在網格中。問題是,根據比我所瞭解的更多的事情,像素中的實際間距似乎因系統而異。我瞭解到,至少這些東西發揮的一個因素:用於在Windows XP上計算桌面圖標間距的公式或API
必須有比這更多。也許有一些我不知道的API調用?
有一個1001點的方式來獲取/設置這個(但我只知道2):-D
Windows註冊表:
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics
值IconSpacing和IconVerticalSpacing
通過代碼:
using System.Management;
public string GetWinIconSpace()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2","SELECT * FROM Win32_Desktop");
foreach (ManagementObject wmi in searcher.Get())
{
try
{
return "Desktop Icon Spacing: " + wmi.GetPropertyValue("IconSpacing").ToString();
}
catch { }
}
return "Desktop Icon Spacing: Unknown";
}
和第三,我從來沒有嘗試過,你可以find it here
如果請求的圖標大小不可用,它們也可能是由於縮放算法造成的大小問題。
(因爲一個圖標文件實際上是圖標的集合,如在此線程約Icons and cursors know where they came from解釋,從The Old New Thing)