Перемещение ярлыков

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Ergi
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 07.02.2010 (Вс) 20:04

Перемещение ярлыков

Сообщение Ergi » 07.02.2010 (Вс) 20:27

Основная задача: программно перемещать ярлыки на рабочем столе.
Покопавшись на сайтах и в документации, узнал, что нужно найти handle рабочего стола и через него добраться до ярлыков
Код: Выделить всё
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
            (ByVal lpClassName As String, _
             ByVal lpWindowName As String) As Int32
    Public Declare Function GetWindow Lib "user32" _
           (ByVal hwnd As Int32, _
            ByVal wCmd As Int32) As Int32
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                                                        (ByVal hwnd As Int32, _
                                                         ByVal wMsg As Int32, _
                                                         ByVal wParam As Int32, _
                                                         ByVal lParam As Int32) As Int32
    Sub Main()
        Dim hWnd As Int32

        hWnd = FindWindow("Progman", vbNullString)
        hWnd = GetWindow(hWnd, GW_CHILD)
        hWnd = GetWindow(hWnd, GW_CHILD)

        SendMessage(hWnd, LVM_ARRANGE, LVA_ALIGNLEFT, 0)
    End Sub

Данный пример кода должен выстроить все иконки по порядку. FindWindow находит handle рабочего стола, но дальше дело не идет, т.к. вторая строчка возвращает 0. Второй вариант этого кода слегка переделан. Вместо типа Int32 почти везде стоит Long. Вместо 0 вторая строка возвращает астрономические цифры и результат все равно не достигается. Может ктонибудь подсказать где ошибка в коде, либо предложить свой вариант решения проблемы?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Перемещение ярлыков

Сообщение Viper » 07.02.2010 (Вс) 20:53

И что же должна была делать вторая строчка?
Весь мир матрица, а мы в нем потоки байтов!

Ergi
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 07.02.2010 (Вс) 20:04

Re: Перемещение ярлыков

Сообщение Ergi » 07.02.2010 (Вс) 20:59

Вывести идентификатор на дочернее окно верхнего уровня.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList