Обновить рабочий стол без 1-2 секундной задержки

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

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

LostVB
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 05.06.2009 (Пт) 0:35

Обновить рабочий стол без 1-2 секундной задержки

Сообщение LostVB » 05.06.2009 (Пт) 0:41

Все привет,

Собственно проблема: обновить рабочий стол без задержки по времени. Словно нажата F5.

По фороуму искал, решения не нашел :cry:

Спасибо

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение arvitaly » 05.06.2009 (Пт) 1:06

мб
Код: Выделить всё
Call UpdateWindow(GetDesktopWindow)

???

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение Williams » 05.06.2009 (Пт) 1:12

По-моему тут SHChangeNotify поможет.
И вы думаете, что вас оставят в живых после прочтения этого поста?

LostVB
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 05.06.2009 (Пт) 0:35

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение LostVB » 05.06.2009 (Пт) 1:32

Я пробовал это код, но F5 субъективно работает быстрее. Что делать?

Код: Выделить всё

'Beispiel: VB .Net - Verwendung der Api Funktion - SHChangeNotify zum aktualisieren des Desktops
'
Option Explicit On
Option Strict On

Imports System.Runtime.InteropServices

Public Class Form1

    Public Class WinApi

        <DllImport("Shell32.dll", CharSet:=CharSet.Auto)> _
        Private Shared Sub SHChangeNotify _
            ( _
            ByVal wEventID As Int32, _
            ByVal uFlags As Int32, _
            ByVal dwItem1 As Int32, _
            ByVal dwItem2 As Int32 _
            )
        End Sub

        Private Enum Flags As Int32
            SHCNE_ASSOCCHANGED = &H8000000
            SHCNF_IDLIST = &H0
        End Enum

        Public Shared Sub RefreshDesktop()
            SHChangeNotify(Flags.SHCNE_ASSOCCHANGED, Flags.SHCNF_IDLIST, 0, 0)
        End Sub

    End Class

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles MyBase.Load
        With Me
            .Text = "Desktop aktualisieren"
            .Button1.Text = "Refresh Desktop"
        End With
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles Button1.Click
        Call WinApi.RefreshDesktop()
    End Sub

End Class




Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16476
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение Хакер » 05.06.2009 (Пт) 10:58

Фу! Дотнет!

Переношу.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

R3G
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 22.04.2009 (Ср) 7:15

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение R3G » 06.06.2009 (Сб) 23:01

мб просто сделать чтобы автоматом жалась кнопка ф5?

LostVB
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 05.06.2009 (Пт) 0:35

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение LostVB » 07.06.2009 (Вс) 20:23

R3G писал(а):мб просто сделать чтобы автоматом жалась кнопка ф5?


Я бы с радостью но не знаю как. гугл не помог.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение arvitaly » 07.06.2009 (Вс) 21:59

А можно узнать конечную цель?

LostVB
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 05.06.2009 (Пт) 0:35

Re: Обновить рабочий стол без 1-2 секундной задержки

Сообщение LostVB » 07.06.2009 (Вс) 22:29

arvitaly писал(а):А можно узнать конечную цель?


Создаю на рабоем столе папку. нужна быстрая реакция на действие пользователя.


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

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

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

    TopList