d'eviter le popup explorateur fichier lors d'insertion disques
Utilisateur WDF
Inscrit:
30/10/2007 10:44
Post(s): 88
Bonjour,

apriori il n'y a pas moyen d'eviter le popup explorateur fichier lors d'insertion disques (usb ou autres).

Surtout que je ne veux pas jouer avec des changements de registre windows.

Par contre j'ai décelé dans le programme Zexplorateur (zapsolution.com - source libre) écrit en Windev, qu'il y a quand même une solution :

Je n'ai pas besoin de l'exploreur.

Pourrait-on m'aider à filtrer juste le code qui sert à eviter le popup ??

Dans mon projet je travaille avec fDétecteStockageAmovible car cela me convient parfaitement.

BAV

WM_QUERYCANCELAUTOPLAY est entier = API("USER32", "RegisterWindowMessageA", "QueryCancelAutoplay")


// Et on bloque la popup Windows d'insertion automatique (CD-ROM/DVD)
Evénement("DeviceNotification", FenEnExécution(), WM_QUERYCANCELAUTOPLAY)




// *********************************************************************
// La fonction WinDev fDétecteStockageAmovible étant trop limitée
// On gère nous-même l'insertion ou la suppression des devices amovibles
// *********************************************************************
FONCTION DeviceNotification(wMsg, wParam, lParam)
DEV_BROADCAST_HDR est structure
dbch_size       est un entier sans signe sur 4 octets
dbch_devicetype est un entier sans signe sur 4 octets
dbch_reserved   est un entier sans signe sur 4 octets
FIN

DEV_BROADCAST_VOLUME est structure
dbch_size       est un entier sans signe sur 4 octets
dbch_devicetype est un entier sans signe sur 4 octets
dbch_reserved   est un entier sans signe sur 4 octets
dbcv_unitmask   est un entier sans signe sur 4 octets
dbcv_flags      est un entier sans signe sur 2 octets
FIN

nRet est entier = 0
// On bloque la popup de notification d'insertion Windows
// qui demande ce qu'on veut faire du CD/DVD
SI wMsg = WM_QUERYCANCELAUTOPLAY ALORS
	nRet = 1
SINON // On gère l'insertion et la suppression d'un device
	SI wParam = DBT_DEVICEREMOVECOMPLETE OU wParam = DBT_DEVICEARRIVAL ALORS
		SI lParam ALORS
			stDevHDR est DEV_BROADCAST_HDR
			Transfert(&stDevHDR, lParam, Dimension(stDevHDR))
			SI stDevHDR:dbch_devicetype = DBT_DEVTYP_VOLUME ALORS
				stDevVOL est DEV_BROADCAST_VOLUME
				Transfert(&stDevVOL, lParam, Dimension(stDevVOL))

				DoIt est entier = Faux
				sDrive est chaîne = BFF_DEVICE_DRIVE(stDevVOL:dbcv_unitmask)
				hTreeView est entier = BFF_GET_TV_HANDLE()
				sFolderName est chaîne = BFF_GET_PATH()
				
				// StockageAmovibleRetiré
				// ----------------------
				SI wParam = DBT_DEVICEREMOVECOMPLETE ALORS
					SI Gauche(Majuscule(sFolderName), 1) = Majuscule(sDrive) ALORS
						sFolderName = fRepEnCours()
						// Efface le contenu de la table et la liste masquée
						ClearFolderContent()
						DoIt = UpdateRegistry(sFolderName)
					FIN

				// StockageAmovibleInséré
				// ----------------------
				SINON SI wParam = DBT_DEVICEARRIVAL
					SI MsgBoxYesNo("Unité de stockage amovible", "Une nouvelle untié de stockage a été détectée." + RC + RC + "Souhaitez-vous accèder au média " + sDrive + ":\ ?", UseIconDevices) = Oui ALORS
						sFolderName = sDrive + ":\"
						// Efface le contenu de la table et la liste masquée
						ClearFolderContent()
						DoIt = UpdateRegistry(sFolderName)
					FIN
				FIN

				// On masque le Treeview
				ShowWindow(hTreeView, SW_HIDE)
				
				// On réinitialise le TreeView et on se replace sur le folder actif
				InitTreeViewFolder(sFolderName)

				// On réaffiche le Treeview
				ShowWindow(hTreeView, SW_SHOW)
				
				// On met à jour la table
				SI DoIt ALORS UpdateTable(MakeLong(0, Bff_SelChange))
				
			FIN
		FIN
		
	FIN
FIN
RENVOYER nRet

Contribution le : 08/11/2007 14:01
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2