تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كود عمل تحديث لسطح المكتب RefreshDesktop
#1
الي اصحاب الخبراء في الفجوال بيسك

انا بصرح من كتر مابحول في الفجوال بيسك
راسي تعب من الاكود 

<طلبي هو طريقة او كود>
<لعمل تحديث لسطح المكتب يعني اروح>
اضغط كليك اليمن وعمل تحديث
بدي الامر هد من خلال زر هل ممكن
للفجول بيسك
Desktop.RefreshDesktop
كيف طيب هيجي وحد يقول هو انت بديك
زر اللي يعملك تحديدث هقولك من كوتر 
مابنش ملفات ومجلدات وبحذف بختفي المجلد
بصير لزم اعمل تحديث لسطح المكتب
انا بدي كود يعمل بعد او قبل انشاء المجلد


كول هد مش مشكل المشكل الكود للي يعمل تحديث
الرد
تم الشكر بواسطة: asemshahen5
#2
اول شي تستورد فضاء الاسماء التالي:

كود :
Imports System.Runtime.InteropServices

ثم الصق الكود التالي داخل محرر الكود :

كود :
 <DllImport("shell32.dll")> _
   Shared Sub SHChangeNotify( _
   ByVal wEventID As HChangeNotifyEventID, _
   ByVal uFlags As HChangeNotifyFlags, _
   ByVal dwItem1 As IntPtr, _
   ByVal dwItem2 As IntPtr)
   End Sub

   <Flags()> _
   Public Enum HChangeNotifyFlags
       ' <summary>
       ' The <i>dwItem1</i> and <i>dwItem2</i> parameters are DWORD values.
       ' </summary>
       SHCNF_DWORD = &H3
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of ITEMIDLIST structures that
       ' represent the item(s) affected by the change.
       ' Each ITEMIDLIST must be relative to the desktop folder.
       ' </summary>
       SHCNF_IDLIST = &H0
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings of
       ' maximum length MAX_PATH that contain the full path names
       ' of the items affected by the change.
       ' </summary>
       SHCNF_PATHA = &H1
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings of
       ' maximum length MAX_PATH that contain the full path names
       ' of the items affected by the change.
       ' </summary>
       SHCNF_PATHW = &H5
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings that
       ' represent the friendly names of the printer(s) affected by the change.
       ' </summary>
       SHCNF_PRINTERA = &H2
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings that
       ' represent the friendly names of the printer(s) affected by the change.
       ' </summary>
       SHCNF_PRINTERW = &H6
       ' <summary>
       ' The function should not return until the notification
       ' has been delivered to all affected components.
       ' As this flag modifies other data-type flags it cannot by used by itself.
       ' </summary>
       SHCNF_FLUSH = &H1000
       ' <summary>
       ' The function should begin delivering notifications to all affected components
       ' but should return as soon as the notification process has begun.
       ' As this flag modifies other data-type flags it cannot by used by itself.
       ' </summary>
       SHCNF_FLUSHNOWAIT = &H2000
   End Enum

   <Flags()> _
   Public Enum HChangeNotifyEventID
       ' <summary>
       ' All events have occurred.
       ' </summary>
       SHCNE_ALLEVENTS = &H7FFFFFFF

       ' <summary>
       ' A file type association has changed. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/>
       ' must be specified in the <i>uFlags</i> parameter.
       ' <i>dwItem1</i> and <i>dwItem2</i> are not used and must be <see langword="null"/>.
       ' </summary>
       SHCNE_ASSOCCHANGED = &H8000000

       ' <summary>
       ' The attributes of an item or folder have changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item or folder that has changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_ATTRIBUTES = &H800

       ' <summary>
       ' A nonfolder item has been created.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item that was created.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_CREATE = &H2

       ' <summary>
       ' A nonfolder item has been deleted.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item that was deleted.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DELETE = &H4

       ' <summary>
       ' A drive has been added.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was added.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEADD = &H100

       ' <summary>
       ' A drive has been added and the Shell should create a new window for the drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was added.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEADDGUI = &H10000

       ' <summary>
       ' A drive has been removed. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEREMOVED = &H80

       ' <summary>
       ' Not currently used.
       ' </summary>
       SHCNE_EXTENDED_EVENT = &H4000000

       ' <summary>
       ' The amount of free space on a drive has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive on which the free space changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_FREESPACE = &H40000

       ' <summary>
       ' Storage media has been inserted into a drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that contains the new media.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MEDIAINSERTED = &H20

       ' <summary>
       ' Storage media has been removed from a drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive from which the media was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MEDIAREMOVED = &H40

       ' <summary>
       ' A folder has been created. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/>
       ' or <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that was created.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MKDIR = &H8

       ' <summary>
       ' A folder on the local computer is being shared via the network.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that is being shared.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_NETSHARE = &H200

       ' <summary>
       ' A folder on the local computer is no longer being shared via the network.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that is no longer being shared.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_NETUNSHARE = &H400

       ' <summary>
       ' The name of a folder has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the previous pointer to an item identifier list (PIDL) or name of the folder.
       ' <i>dwItem2</i> contains the new PIDL or name of the folder.
       ' </summary>
       SHCNE_RENAMEFOLDER = &H20000

       ' <summary>
       ' The name of a nonfolder item has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the previous PIDL or name of the item.
       ' <i>dwItem2</i> contains the new PIDL or name of the item.
       ' </summary>
       SHCNE_RENAMEITEM = &H1

       ' <summary>
       ' A folder has been removed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_RMDIR = &H10

       ' <summary>
       ' The computer has disconnected from a server.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the server from which the computer was disconnected.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_SERVERDISCONNECT = &H4000

       ' <summary>
       ' The contents of an existing folder have changed
       ' but the folder still exists and has not been renamed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that has changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' If a folder has been created deleted or renamed use SHCNE_MKDIR SHCNE_RMDIR or
       ' SHCNE_RENAMEFOLDER respectively instead.
       ' </summary>
       SHCNE_UPDATEDIR = &H1000

       ' <summary>
       ' An image in the system image list has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_DWORD"/> must be specified in <i>uFlags</i>.
       ' </summary>
       SHCNE_UPDATEIMAGE = &H8000
   End Enum


ثم داخل حدث الضغط على الزر الصق التالي:

كود :
 Me.WindowState = FormWindowState.Minimized
       SHChangeNotify(&H8000000, &H0, 0, 0)
الكود السابق يعمل معي على اصدار ويندوز 8.1 64 بت باستخدام فيجوال بيسك 2010 بروفيشيونال sp1
الرد
تم الشكر بواسطة: asemshahen5 , ابو روضة , ابراهيم ايبو
#3
قم باضافة كلاس لمشروعك وضع به الكود التالي

كود :
Imports System.Runtime.InteropServices

Public NotInheritable Class Win32Helper

   Const SHCNE_ASSOCCHANGED As Integer = &H8000000
   Const SHCNF_IDLIST As Integer = 0

   Private Sub New()
   End Sub

   Private Class NativeMethods
       <DllImport("shell32")> _
       Public Shared Sub SHChangeNotify(ByVal wEventId As Integer, ByVal flags As Integer, ByVal item1 As IntPtr, ByVal item2 As IntPtr)
       End Sub
   End Class

   Public Shared Sub NotifyFileAssociationChanged()
       ' SHChangeNotify notifies the system of events.
       ' You can notify that various events occured, one is SHCNE_ASSOCCHANGED:
       ' "A file type association has changed.  
       ' SHCNF_IDLIST must be specified in the uFlags parameter.  
       ' dwItem1 and dwItem2 are not used and must be NULL."  
       NativeMethods.SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, Nothing, Nothing)
   End Sub

End Class



وفي حدث الكليك


كود :
Win32Helper.NotifyFileAssociationChanged()
الرد
#4
الله ينور عليكم اللي عبرتوني بس ولا كود قبل

يعمل تحديث لسطح المكتب انا بدي كود يعمل تحديث

زي لم اروح علي سطح المكتب وضغط كليك الايمن وسوي تحديث 

شو بصير بسطح المكتب اذا في مجلد مخفي من كوتر الانشاء والحذف يظهر

بدي الكود يعمل تحديث لسطح المكتب فقط مش تحديث لبرنامج ولا لاي
الرد
تم الشكر بواسطة: asemshahen5
#5
اخ علي بالله عليك تراجع سؤالك وتفهم انت ايش تبغى وايش الشيء اللي فهمناه من سؤالك ؟
اللي واضح من سؤالك انك تبغى تعمل زر عند الضغط عليه يقوم بتحديث شاشة سطح مكتب نظام ويندوز ( اللي عليها جهاز الكمبيوتر ولوحة التحكم وسلة المهملات)
هذا اللي انا فهمته واللي اعتقد ان بقية الاخوان اللي ردو عليك فهموه
لكن ما اظن ان تحديث سطح المكتب يكشف الملفات او المجلدات المخفية ؟

واذا كان الكود اللي اعطيتك مو شغال يعني مايعمل refresh لسطح المكتب بلغني
وكمان بلغ الاخوان اللي ردو عليك اذا كودهم مو شغال
الرد
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#6
Heart 
السلام عليكم
يا خوي [b]معاند الحظ [/b]
[b]انا كول اللي بدي ايها يعمل افيرش لسطح المكتب وبس[/b]
[b]يعني انا لقيت كود لسي شارب بس انا بدي لفجوال بيسك[/b]
[b]هد كود السي شارب[/b]
[b]Desktop.RefreshDesktop();[/b]





لكن انا بدي لفجوال بيسك بدي كود يعمل تحديث يعني

انا لم اروح علي سطح المكت وضغط

كليك اليمن ورح علي كلمة تحديث شو بيسير

لسطح المكتب بعمل

حرك افريش انا بدي اعمل هيك من خلال الزر البطون بس وكون شكر الك اخو معاذ الحظ وبرك الله فيك
الرد
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#7
كود :
Public Class example
Private Declare Function SHChangeNotify Lib "Shell32.dll" (ByVal wEventID As Long, _
ByVal uFlags As Long, _
ByVal dwitem1 As Long, _
ByVal deitem2 As Long) As Long
Private Sub refreshWindow()
SHCangeNotify(SHChangeNotify(&H8000000, &H0, Nothing, Nothing)
End Sub

End Class
الرد
#8
وعليك السلام اخ علي

اتوقع اني الغموض زال بحمد الله وفهمت سؤالك بشكل صحيح

تم التعديل على الكود السابق لذا ارجو انك تستبدل الكود السابق بالجديد مع مراعاة وضع عدد 2 زر بوتن على الفورم 

كود :
Imports Microsoft.Win32
Imports System.Reflection
Imports System.Runtime.InteropServices

Public Class Form1

   <DllImport("shell32.dll")> _
   Shared Sub SHChangeNotify( _
  ByVal wEventID As HChangeNotifyEventID, _
  ByVal uFlags As HChangeNotifyFlags, _
  ByVal dwItem1 As IntPtr, _
  ByVal dwItem2 As IntPtr)
   End Sub

   <Flags()> _
   Public Enum HChangeNotifyFlags
       ' <summary>
       ' The <i>dwItem1</i> and <i>dwItem2</i> parameters are DWORD values.
       ' </summary>
       SHCNF_DWORD = &H3
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of ITEMIDLIST structures that
       ' represent the item(s) affected by the change.
       ' Each ITEMIDLIST must be relative to the desktop folder.
       ' </summary>
       SHCNF_IDLIST = &H0
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings of
       ' maximum length MAX_PATH that contain the full path names
       ' of the items affected by the change.
       ' </summary>
       SHCNF_PATHA = &H1
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings of
       ' maximum length MAX_PATH that contain the full path names
       ' of the items affected by the change.
       ' </summary>
       SHCNF_PATHW = &H5
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings that
       ' represent the friendly names of the printer(s) affected by the change.
       ' </summary>
       SHCNF_PRINTERA = &H2
       ' <summary>
       ' <i>dwItem1</i> and <i>dwItem2</i> are the addresses of null-terminated strings that
       ' represent the friendly names of the printer(s) affected by the change.
       ' </summary>
       SHCNF_PRINTERW = &H6
       ' <summary>
       ' The function should not return until the notification
       ' has been delivered to all affected components.
       ' As this flag modifies other data-type flags it cannot by used by itself.
       ' </summary>
       SHCNF_FLUSH = &H1000
       ' <summary>
       ' The function should begin delivering notifications to all affected components
       ' but should return as soon as the notification process has begun.
       ' As this flag modifies other data-type flags it cannot by used by itself.
       ' </summary>
       SHCNF_FLUSHNOWAIT = &H2000
   End Enum

   <Flags()> _
   Public Enum HChangeNotifyEventID
       ' <summary>
       ' All events have occurred.
       ' </summary>
       SHCNE_ALLEVENTS = &H7FFFFFFF

       ' <summary>
       ' A file type association has changed. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/>
       ' must be specified in the <i>uFlags</i> parameter.
       ' <i>dwItem1</i> and <i>dwItem2</i> are not used and must be <see langword="null"/>.
       ' </summary>
       SHCNE_ASSOCCHANGED = &H8000000

       ' <summary>
       ' The attributes of an item or folder have changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item or folder that has changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_ATTRIBUTES = &H800

       ' <summary>
       ' A nonfolder item has been created.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item that was created.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_CREATE = &H2

       ' <summary>
       ' A nonfolder item has been deleted.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the item that was deleted.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DELETE = &H4

       ' <summary>
       ' A drive has been added.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was added.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEADD = &H100

       ' <summary>
       ' A drive has been added and the Shell should create a new window for the drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was added.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEADDGUI = &H10000

       ' <summary>
       ' A drive has been removed. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_DRIVEREMOVED = &H80

       ' <summary>
       ' Not currently used.
       ' </summary>
       SHCNE_EXTENDED_EVENT = &H4000000

       ' <summary>
       ' The amount of free space on a drive has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive on which the free space changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_FREESPACE = &H40000

       ' <summary>
       ' Storage media has been inserted into a drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive that contains the new media.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MEDIAINSERTED = &H20

       ' <summary>
       ' Storage media has been removed from a drive.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the root of the drive from which the media was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MEDIAREMOVED = &H40

       ' <summary>
       ' A folder has been created. <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/>
       ' or <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that was created.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_MKDIR = &H8

       ' <summary>
       ' A folder on the local computer is being shared via the network.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that is being shared.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_NETSHARE = &H200

       ' <summary>
       ' A folder on the local computer is no longer being shared via the network.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that is no longer being shared.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_NETUNSHARE = &H400

       ' <summary>
       ' The name of a folder has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the previous pointer to an item identifier list (PIDL) or name of the folder.
       ' <i>dwItem2</i> contains the new PIDL or name of the folder.
       ' </summary>
       SHCNE_RENAMEFOLDER = &H20000

       ' <summary>
       ' The name of a nonfolder item has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the previous PIDL or name of the item.
       ' <i>dwItem2</i> contains the new PIDL or name of the item.
       ' </summary>
       SHCNE_RENAMEITEM = &H1

       ' <summary>
       ' A folder has been removed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that was removed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_RMDIR = &H10

       ' <summary>
       ' The computer has disconnected from a server.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the server from which the computer was disconnected.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' </summary>
       SHCNE_SERVERDISCONNECT = &H4000

       ' <summary>
       ' The contents of an existing folder have changed
       ' but the folder still exists and has not been renamed.
       ' <see cref="HChangeNotifyFlags.SHCNF_IDLIST"/> or
       ' <see cref="HChangeNotifyFlags.SHCNF_PATH"/> must be specified in <i>uFlags</i>.
       ' <i>dwItem1</i> contains the folder that has changed.
       ' <i>dwItem2</i> is not used and should be <see langword="null"/>.
       ' If a folder has been created deleted or renamed use SHCNE_MKDIR SHCNE_RMDIR or
       ' SHCNE_RENAMEFOLDER respectively instead.
       ' </summary>
       SHCNE_UPDATEDIR = &H1000

       ' <summary>
       ' An image in the system image list has changed.
       ' <see cref="HChangeNotifyFlags.SHCNF_DWORD"/> must be specified in <i>uFlags</i>.
       ' </summary>
       SHCNE_UPDATEIMAGE = &H8000
   End Enum

   Public Shared Sub RefreshExplorer()
       Dim clsid As New Guid("13709620-C279-11CE-A49E-444553540000")
       Dim typeFromCLSID As Type = Type.GetTypeFromCLSID(clsid, True)
       Dim objectValue As Object = Activator.CreateInstance(typeFromCLSID)
       Dim obj4 As Object = typeFromCLSID.InvokeMember("Windows", BindingFlags.InvokeMethod, Nothing, objectValue, New Object(0 - 1) {})
       Dim type1 As Type = obj4.GetType
       Dim obj2 As Object = type1.InvokeMember("Count", BindingFlags.GetProperty, Nothing, obj4, Nothing)
       If (CInt(obj2) <> 0) Then
           Dim num2 As Integer = (CInt(obj2) - 1)
           Dim i As Integer = 0
           Do While (i <= num2)
               Dim obj5 As Object = type1.InvokeMember("Item", BindingFlags.InvokeMethod, Nothing, obj4, New Object() {i})
               Dim type3 As Type = obj5.GetType
               Dim str As String = CStr(type3.InvokeMember("Name", BindingFlags.GetProperty, Nothing, obj5, Nothing))
               If (str = "File Explorer") Then
                   type3.InvokeMember("Refresh", BindingFlags.InvokeMethod, Nothing, obj5, Nothing)
               End If
               i += 1
           Loop
       End If

   End Sub

   


   Const keyName As String = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
   Const Hidden As String = "Hidden"
   Const SHidden As String = "ShowSuperHidden"

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim St As Integer = GetRegValue(Hidden)

       'If St = 2 Then
     
       'Else
       SetRegValue(Hidden, 2)
       SetRegValue(SHidden, 0)
       ''End If
       SHChangeNotify(&H8000000, &H0, 0, 0)
       RefreshExplorer()
   End Sub

   Private Function GetRegValue(valueName As String) As Integer
       Return CInt(My.Computer.Registry.GetValue(keyName, valueName, 0))
   End Function

   Private Sub SetRegValue(valueName As String, value As Integer)
       My.Computer.Registry.SetValue(keyName, valueName, value, Microsoft.Win32.RegistryValueKind.DWord)
   End Sub

   Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
       SetRegValue(Hidden, 1)
       SetRegValue(SHidden, 1)
       SHChangeNotify(&H8000000, &H0, 0, 0)
       RefreshExplorer()
   End Sub
End Class
الرد
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#9
برك الله فيك استاذ واخوي معاذ الحظ ظبط الكود واللف شكور الك بس في فيديو اريد انك تشوفها



معليش انا تقلت عليك وغلبتك حب بس انت قلبك كبير وياريت طول روح اشوي علي




الرد
تم الشكر بواسطة: asemshahen5
#10
الاخ علي
اسف على تاخري بالرد نظرا للظروف فلم استطع الدخول سوى قبل قليل
وصدقني او شي عملته بعد الدخول الى المنتدى هو اني بحثت عن اخر مشاركاتي بس عشان اعرف شو صار معك
المهم، انا وانت لازم واحد فينا يفهم على الثاني يعني
انت بتقول انك في برنامجك لما تضغط على الزر البر نامج يعمل مجلد على سطح المكتب بس المجلد بيكون مخفي !! وهذا شي غامض لاني بالفيديو اللي انت
وضعته شفت انك لما بتضغط على الزر بيعمل لك مجلد على سطح المكتب والمجلد بيكون ظاهر غير مخفي. هذا شي
الشي الاخر هو انك بتقول ان الكود اللي اعطيتك اياه شغال لكن شو انا ما اعرف !!
وتقول انك عندك كود لكنه بالسي شارب لكن الكود اللي انت اشرت عليه "Desktop.RefreshDesktop" في برنامجك هو نداء لوضيفة موجودة في صنف Class اسمه Desktop
والكود عندك تم تحويله الى تعليق ....
المهم اخي ، انت جعلت سؤالك مثل المتاهه المتشابكة وانا باختصار ابغى اساعدك
لكن لازم ترفق مشروعك اعدل عليه واعلمك فين انت كنت تخطىء او ليه برنامجك يعمل كذا وكذا

لذا انا الان متفرغ مخصوص لك بس ما ادري الى متى فياليت ترد بسرعة لان حتى انا عندي مشاريع اعمل عليها
تحياتي لك
الرد
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية تحديث الكمية المخزنة عند حفظ فاتورة جديدة باستخدام ACCESS AwsEsam 2 115 29-04-20, 12:41 AM
آخر رد: atefkhalf2004
  اريد تطبيق لفكرة تحديث البرنامج haitemaouati 2 146 27-04-20, 06:06 PM
آخر رد: Codack
  بخصوص تحديث البرنامج ابو روضة 11 668 25-04-20, 08:17 AM
آخر رد: starmedom
  تحديث لكولم الشارة في قاعدة بيانات اكسس abdulla2 2 132 14-04-20, 12:29 AM
آخر رد: abdulla2
Heart كيف يمكنني أرسال pdf إلى سطح المكتب DOX.1 6 321 03-12-19, 03:19 AM
آخر رد: DOX.1
  [VB.NET] تحديث مشروع فيجوال بيسيك بعد توزيعه على المستخدمين عبر الانترنت khairallah 1 398 01-10-19, 11:30 PM
آخر رد: asemshahen5
  [سؤال] كيف أقوم بعمل تحديث للبيانات وخاصة حفظ الصورة مرة أخري mysql +vb>.NET dametucorazon 3 707 01-09-19, 10:06 PM
آخر رد: عماني939
  سؤال احبتى هل من الممكن تحديث بيانات التقرير فى الكريستال ربيورت خالد كامل1 17 1,169 24-08-19, 03:14 PM
آخر رد: عبد العزيز البسكري
  مشكلة في تحديث nuget mohamedahmed1 0 257 13-08-19, 07:24 PM
آخر رد: mohamedahmed1
  مشكلةفي تحديث البيانات او تحميل البيانات على الداتا جريد فيو alshandodi 1 390 14-07-19, 04:58 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم