void C***::OnSetDeskIcon() { HWND hwndParent = ::FindWindow( "Progman", "Program Manager" ); HWND hwndSHELLDLL_DefView = ::FindWindowEx( hwndParent, NULL, "SHELLDLL_DefView", NULL ); HWND hwndSysListView32 = ::FindWindowEx( hwndSHELLDLL_DefView, NULL, "SysListView32", "FolderView" ); int Nm = ListView_GetItemCount( hwndSysListView32 ); int sNm = 0; if( Nm >= 10 ) { sNm = 10; }else{ sNm = Nm; } for( int i = 0; i < sNm; i++ ) { int x = 400 + 150*cos( i*36*3.1415926/180 ); int y = 400 + 150*sin( i*36*3.1415926/180 ); ::SendMessage( hwndSysListView32, LVM_SETITEMPOSITION, i, MAKELPARAM( x,y)); } ListView_RedrawItems(hwndSysListView32, 0, ListView_GetItemCount(hwndSysListView32) - 1); ::UpdateWindow(hwndSysListView32);}桌面的图标位置是在SysListView32里保存的, 这个程序就是用来修改的.
虽然没看懂.....不过看起来很麻烦.........
取消
评论