나는 내 바탕 화면에 큰 아이콘을 사용하고 싶지만, 보통은 보통 크기로 되돌아 가며 여전히 왜 그런지 추적 할 수 없다. 프로그래머로서 나는 아이콘 위치를 저장하고 복원하기위한 자체 유틸리티를 작성하기로 결정했습니다. 인터넷 검색은 많은 정보를 제공하지 않습니다. 누구나 시작할 수있는 링크 나 힌트를 줄 수 있습니까?Delphi에서 데스크톱 아이콘 위치 및 크기를 가져 오거나 설정하는 방법은 무엇입니까?
1
A
답변
2
신뢰할 수 없습니다. Raymond Chen explains why이 게시물에
기본적으로 바탕 화면의 특정 위치에 아이콘을 표시 할 수있는 방법이 없기 때문에 기본적으로 개별 아이콘의 위치를 지정할 방법이 없습니다.
1
0
이 게시물을 읽고, 어쩌면 도움이 :) save-and-restore-desktop-icon-positions
2
시간에 한 점, 확실히 즉 윈도우 2000/WINXP에서, 바탕 화면은 실제로 ListView에의 한 유형이었다. 나는 아직도 새로운 OS에서 그렇게 확신 할 수 없다. 데스크톱 핸들을 얻고 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
관련 문제
- 1. QTreeWidget에서 아이콘 크기를 설정하는 방법은 무엇입니까?
- 2. winforms 응용 프로그램의 작업 디렉토리를 가져 오거나 설정하는 방법은 무엇입니까?
- 3. 응용 프로그램 창에서 마우스의 위치를 가져 오거나 설정하는 방법은 무엇입니까?
- 4. Silverlight 텍스트 상자에서 캐럿 위치를 가져 오거나 설정하는 방법은 무엇입니까?
- 5. Delphi에서 버전 정보를 자동으로 설정하는 방법은 무엇입니까?
- 6. DataGridView의 ComboBox에서 데이터를 가져 오거나 설정하는 방법
- 7. tk_messageBox의 크기를 설정하는 방법은 무엇입니까?
- 8. 경고보기의 크기를 설정하는 방법은 무엇입니까?
- 9. JPanel 크기를 설정하는 방법은 무엇입니까?
- 10. 데스크톱 힙 크기를 확보하는 방법은 무엇입니까?
- 11. jquery를 사용하여 gridview에서 textboxvalue를 가져 오거나 설정하는 방법
- 12. .net, winforms에서 아이콘 개체의 아이콘 크기를 결정하는 방법은 무엇입니까?
- 13. 가능한 데스크톱 아이콘 수
- 14. GMapPanel에서 제조업체 아이콘의 아이콘 크기를 설정하려면 ExtJS
- 15. Tomcat에서 AJP 패킷 크기를 설정하는 방법은 무엇입니까?
- 16. LVM_GETITEMRECT 메시지로 바탕 화면 아이콘 크기를 가져 오는 중
- 17. 동적 동영상/퀵타임 크기를 설정하는 방법은 무엇입니까?
- 18. jQuery로 위치 가져 오기 및 설정 .offset()
- 19. 데스크톱 상단에 양식을 가져 오는 방법은 무엇입니까?
- 20. C# 키를 사용하여 ListViewItem 또는 ListViewItem.ListViewSubItem을 가져 오거나 설정하는 방법은 무엇입니까?
- 21. 양식 상자의 크기를 설정하는 방법은 무엇입니까?
- 22. mod_deflate에 최소 파일 크기를 설정하는 방법은 무엇입니까?
- 23. Eclipse에서 글꼴 크기를 10.5로 설정하는 방법은 무엇입니까?
- 24. CoreText에서 공백 크기를 설정하는 방법은 무엇입니까?
- 25. Google지도 API v3에서지도 크기를 설정하는 방법은 무엇입니까?
- 26. TreeViewer의 초기 크기를 설정하는 방법은 무엇입니까?
- 27. 배경 이미지의 크기를 설정하는 방법은 무엇입니까?
- 28. GUI 요소의 크기를 설정하는 올바른 방법은 무엇입니까?
- 29. Oracle 연결 풀 크기를 설정하는 방법은 무엇입니까?
- 30. 스윙에서 커서의 맞춤 크기를 설정하는 방법은 무엇입니까?
고마워요, 매우 흥미 롭습니다! – kuaw26