begin process at 2012 02 13 20:59:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CRÉATION ET APPLICATION MANIFEST EN UNE SEULE LIGNE [MODULE DE CLASSE]

CRÉATION ET APPLICATION MANIFEST EN UNE SEULE LIGNE [MODULE DE CLASSE]


 Information sur la source

Note :
9,57 / 10 - par 7 personnes
9,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :manifest, classe, xp, interface, afck Niveau :Débutant Date de création :24/11/2005 Date de mise à jour :21/06/2006 14:07:05 Vu / téléchargé :6 199 / 1 088

Auteur : PCPT

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
le .manifest est maintenant plus que connu, mais toujours gênant à mettre en place.
l'exe peut être renommé donc plus de manifest, ou fourni en .res donc modifications à appliquer quand un projet contient déjà des ressources, etc..
et un problème oublié : certains PC sous XP ne lancent l'exe que s'il est compatible W2000.

bah voilà, cette classe fait tout çà après tester la version de Windows.

comme d'hab ... ;)

Source

  • Private AfManifest As New AfCls_Manifest
  • '
  • Private Sub Form_Load()
  • AfManifest.Run
  • End Sub
Private AfManifest As New AfCls_Manifest
'
Private Sub Form_Load()
    AfManifest.Run
End Sub

 Conclusion

ne fonctionne évidemment que sous Windows XP
merci à Rey pour la clé registre -Layers-

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 novembre 2005 22:37:59 :
prise en compte des paramètres régionaux pour test XP (numérique)
21 juin 2006 14:07:06 :
ajout d'une progressbar horizontale (Common Controls 5.0) + maj screenshot

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) [VB2008] OBSERVER L'ACTIVITÉ INPUT (CLAVIER SOURIS) DE L'UTI...
Source avec Zip Source avec une capture PUBLIC SHARED SANS MODULE - VARIABLE SINGLETON : IDENTIFICAT...
Source avec Zip Source avec une capture RÉCUPÉRATION DES IMAGES SYSTÈME DEPUIS LEUR EXTENSION OU LEU...
Source avec Zip Source avec une capture FILE FOLDER LOCKER - BLOQUER (ET DÉBLOQUER) L'ACCÈS À CERTAI...
Source avec Zip Source avec une capture FOLDER HELPER - DOSSIERS SPECIAUX, MANIPULATION DE DOSSIERS,...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN GIF ANIMÉ par Le Pivert
Source avec une capture GRAPH PHP COURBE DE CHARGE par s.defaye
Source avec Zip Source avec une capture BOULE DE CRISTAL par BLUEBIBUBBLE
VB6 - DÉPLACEMENT D'UN CONTRÔLE SUR UN SEGMENT DE DROITE DÉL... par ucfoutu
Source avec Zip Source .NET (Dotnet) APPLICATION DE DESSIN par fsafsafsaf

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RECEVOIR L'ÉVÈNEMENT _MOUSEMOVE SUR DES CONTRÔLES QUI NE LE ... par PCPT
Source avec Zip Source avec une capture MESURER LA TAILLE D'UNE CHAÎNE EN PIXELS [MODULE DE CLASSE] par PCPT
Source avec Zip Source avec une capture SKIN B2 (OU PRESQUE), MODIFIEZ L'ESTHÉTIQUE DE VOS APPLICATI... par PCPT
Source avec Zip Source avec une capture EASY SKIN (LITE) : CHANGEZ L'INTERFACE DE VOTRE APPLI EN UN ... par PCPT
Source avec Zip Source avec une capture SKINS B1 AVEC TRANSPARENCE, MODIFIEZ L'ESTHÉTIQUE DE VOS APP... par PCPT

Commentaires et avis

Commentaire de PCPT le 24/11/2005 19:16:52 administrateur CS

peu très bien être utilisé en module simple. (gain de la ligne en déclaration)
laissez vos commentaires (+ note?) ;)
PCPT  [AFCK]

Commentaire de DARKSIDIOUS le 24/11/2005 20:26:58 administrateur CS

Non, il vaut mieux l'utiliser en classe : c'est plus simple à intégrer dans un projet, et moins de risque de conflit avec d'autres fonctions.

Bien vu, et marche très bien. Très commenté !

9/10

DarK Sidious

Commentaire de PCPT le 24/11/2005 22:59:14 administrateur CS

(je préfère aussi en Classe, preuve en est ^^)
merci !
PCPT   [AFCK]

Commentaire de Renfield le 25/11/2005 01:50:41 administrateur CS

dans le manifest, le nom pourrait utiliser App.title :
Print #FF, " name=" & Chr(34) & "Process Explorer" & Chr(34)

de plus, que ce passera t'il sous Windows 2003 ???
qui, je pense utilise également les manifests...
je veux dire.. tu testes
Format((WinVer Mod 256) + ((WinVer \ 256) / 100), "Fixed") = "5,01"
ce qui me semble limitatif

Commentaire de PCPT le 25/11/2005 02:02:21 administrateur CS

"5,01" correspond uniquement à XP, classe fonctionnant uniquement sous XP comme indiqué dans l'explication finale.
(manifest pour XP, classe fonctionnant sur les autres Win également....)
maintenant si tu veux me donner la valeur retournée par 2003 et LongHorn, et tester la compatibilité des .manifest, je mettrai à jour ;)

et pour "Process Explorer", fonctionnel, donc pas de raison particulière de faire autrement. si?

++

Commentaire de hhhp2004 le 25/11/2005 05:43:13

uhhhhh ca a lair bon mais chez moi ca marche pas ........ je suis sous xp media center (professional)

cest quoi le probleme?

Commentaire de Renfield le 25/11/2005 10:18:30 administrateur CS

Attention a ton test de la version, Pcpt, il est dangereux...

XXX = "5,01"

ca ne prend pas en compte les options régionnales, et va être faux sur un poste Xp, qui a un point comme séparateur décimal...

fais plutôt :
XXX = 5.01

Commentaire de PCPT le 25/11/2005 12:39:33 administrateur CS

HHHP-> quelle valeur as-tu dans IsWindowsXP stp :
MsgBox ((WinVer Mod 256) + ((WinVer \ 256) / 100))



Rey -> j'y avais pensé, mais on va trop vite et voilà...
If ((WinVer Mod 256) + ((WinVer \ 256) / 100)) = 5.01 Then IsWindowsXP = True

Commentaire de draluorg le 25/11/2005 12:52:16

Salut a tous,

Moi je suis un peu decu quand meme!
Je m'attendais a quelques choses de bcp plus court!

Il suffit de le mettre en ressource "Custom" et apres avoir verifier la version faire un loadresdata ou la mettre en ressource 24 et n'appeller IniCommonControl que si on est sous XP non ?

Enfin point de vue personnel, ceci est pour moi plus "compliquer" que la methode traditionnelle! Bien que l'idee soit bonne...

++

Commentaire de hhhp2004 le 25/11/2005 22:09:38

MsgBox ((WinVer Mod 256) + ((WinVer \ 256) / 100))=5.01

Commentaire de PCPT le 25/11/2005 22:31:54 administrateur CS

Draluorg -> ajouter un module à un projet et saisir 1 ou 2 lignes est toujours plus rapide que de créer le manifest après compilation pour créer le .res à ajouter en plus d'une fonction LoadRes etc...
et le point TOUJOURS oublié (sauf ici^^) est cette fameuse incompatibilité des exe XP/2000 empêchant l'execution de l'appli.
l'utilisateur novice, son exe ne fonctionne pas, il ne va pas chercher. c'est la désinstallation sans surci!!

il ne faut pas oublier qu'une application ne peut contenir qu'un seul fichier ressource. par ta méthode, très gênant donc d'importer un .res "fonctionnel" à un projet en contenant déjà un.

donc non, je préfère cette méthode ;-)

HHHP-> ok merci. c'est donc en principe la raison évoquée ci-dessus. je met à jour de suite...

PCPT   [AFCK]

Commentaire de PCPT le 25/11/2005 22:40:00 administrateur CS

mis à jour ;)
l'effet n'est bien sûr visible qu'en projet compilé.

Commentaire de ChrisPM le 28/11/2005 23:13:27

Salut :)

Mhmm c'est intéressant comme astuce ! c'est vrai que de devoir ajouter un manifest à la main est toujours embêtant.

par contre, au sujet des versions de windows, 2003 et vista ont/auront un numéro de version supérieur à celui de winXP, non ?

dans ce cas, la compatibilité avec les windows futurs ne pose logiquement pas de problême, avec un petit >= au lieu du = simple :)

Commentaire de BruNews le 29/11/2005 00:39:42 administrateur CS

2003 = 5 en MajorVersion et 2 en MinorVersion
Vista = 6 et 0 (pour l'instant).

Commentaire de PCPT le 29/11/2005 13:39:33 administrateur CS

merci pour le 1/10 sans commentaire. çà fait toujours plaisir...

ChrisPM -> logiquement oui
BruNews -> c'est noté merci ;)

Commentaire de bobybx le 20/01/2006 17:18:47

Et pour une personne qui débute, on fait comment?

je n'ai absolument aucune idée de où mettre le contenu du zip ni le code... C'est dommage que ce ne soit absolument pas clair pour les gens qui débutent en VB.
Le jpg de capture me fait penser que cette source est sympa.
Quelqu'un peut expliquer comment on fait?

Commentaire de Renfield le 20/01/2006 17:37:41 administrateur CS

il suffit de lancer le fichier VBP (Visual Basic Project)
et de presser F5

Commentaire de DARKSIDIOUS le 20/01/2006 18:03:44 administrateur CS

BOBYBYX : ce site est fait pour partager des connaissances, mais nous n'allons quand même pas écrire à chaque fois comment se servir des fichiers que nous mettons car sinon, nous passerions plus de temps à expliquer comment se servir de VB qu'à coder !

Je peut te conseiller de lire des tuto sur le net parlant du logiciel VB, et ensuite de venir voir les sources, et non faire le contraire... ;)

DarK Sidious

Commentaire de lwred le 10/04/2006 15:12:36

Merci beaucoup pour cette source. Marche très bien chez moi.
Par contre, j'ai essayé ça au boulot (où j'ai des droits restreints) et cela ne marche pas. Cela me sort l'erreur d'éxécution 380 avec le message suivant : "La classe n'a pas été enregistrée. Recherche d'un objet avec CLSID:{000................2EA4}.

A priori, la classe ne s'enregistre pas si on n'a pas des droits administrateur ?!

Merci d'avance pour votre aide.
Dans tous les cas, je compte créer une option STYLE WIN98/STYLE WINXP où la classe ne sera lancée que si l'option XP est cochée.

Commentaire de PCPT le 10/04/2006 16:01:02 administrateur CS

salut,
logiquement le manifest n'est pas lié aux droits (du moins dans cette utilisation).
essaye (si ce n'est déjà fait) de créer un nouveau projet et simplement d'instancier la classe.

ton message peut être en rapport avec d'autres objets ou références.
@+
PCPT  [AFCK]

Commentaire de mortalino le 17/06/2006 19:32:52

Salut PCPT !

Ben comme d'hab, c'est super. Voilà comment en quelques lignes de code on retrouve ses contrôles avec son environnement Windows.

Par contre, si j'ai l'appli sur le bureau, la DLL Manifest.exe.manifest s'y trouve aussi.
T'as pas moyen de la mettre dans le System32 ? (par exemple)

En tout cas merci pour ta source. (je ne dis plus que je te bade [lol] mais le coeur y est).
Tu donnes pas des cours gratuits ?? je me doute que non mais bon..

Bon allez, à bientôt.

@++

  --Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"

Commentaire de PCPT le 17/06/2006 20:06:20 administrateur CS

merci ;)
beh non, pas dans system32 ni ailleurs puisque le appli.exe.manifest doit impérativement être dans le même rep que l'appli.

pas de cours :p, mais y'a toujours le forum ;)
encore merci de tes encouragements (et du 'bade' ^^)
++

Commentaire de mortalino le 17/06/2006 20:10:41

Bon OK !  Pas de problème. Je parerai avec un raccourci.

I'm BAD ! Là par contre, le BAD de Mickael Jackson, c'est le terme qui ME convient.

Désolé et merci pour l'info.

@ +

Commentaire de Renfield le 17/06/2006 22:37:14 administrateur CS

le "mieux" étant de compiler le manifest dans les ressources de l'executable... quand c'est encore possible

Commentaire de PCPT le 18/06/2006 05:02:46 administrateur CS

un manifest compilé ne teste pas la compatibilité W2K !
j'ai pas mal cherché avant de poster cette source, personne sur CS (pas cherché ailleurs) n'a fait ni ce test de compatibilité, ni de classe/module aussi facile à intégrer.
faut pas voir le mal partout ;)

Commentaire de Renfield le 18/06/2006 08:10:23 administrateur CS

compilé, ca change rien derrière....

faut appeler InitCommonControls....

qui n'a de toute facon aucun effet sous Win2K.... mia sun test de l'OS est toujours possible

Commentaire de PCPT le 18/06/2006 10:47:21 administrateur CS

je parle de la compatibilité de l'exe. ("executer ce programme en mode de compatibilité de : W2000").
s'il faut refaire un code derrière alors que ma classe le fait déjà avec la création du manifest (avec l'instanciation de InitCommonControls), aucun intérêt.

Commentaire de Renfield le 18/06/2006 13:30:10 administrateur CS

certes, j'oubliais l'execution en mode compatible...

Commentaire de violent_ken le 13/09/2006 12:32:52

Nickel, marche très bien, super bien commenté.

Une question : les checkboxes ne marchent pas bien avec un *.manifest (contrôles tout noir). Je sais qu'il existe l'astuce de les faire contenir dans une PictureBox, mais ce n'est pas le cas dans l'exemple fourni, et le problème ne ressort pas dans le screenshot effectué.
C'est normal, tu as une autre astuce ?

Merci, 10/10, @+

Commentaire de PCPT le 13/09/2006 13:01:43 administrateur CS

salut,
pas de PictureBox dans l'exemple puisque la CheckBox n'en a pas besoin.
il y en a juste une pour l'OptionButton.
ce "bug connu" ne concerne que l'OptionButton. jamais eu ce problème (noiceur) avec la CheckBox et la MSDN n'en parle pas non plus...
en lançant mon exemple (compilé) tu as ce souci? testé sur XP Pro SP1, quelqu'un aurait une autre config et le même souci?
là je ne vois pas trop...

merci du comm & note ;)
++

Commentaire de violent_ken le 13/09/2006 13:33:44

Salut, en fait je ne me rappelais plus que c'était les optionbutton qui étaient concernées.... mais c'est bien mes checkboxes qui bugent. Je viens en effet de voir que tu avais mis une PictureBox sous les Optionbutton, mais j'ai du faire de même sous les checkboxes pour que çà marche correctement.

J'ai XP Edition Famailiale SP2, et v'là un screenshot du problème (obtenu avec ton exemple) : http://www.enregistrersous.com/images/fcb4fce1d8f2996966a81808e45f726c.png

Bizarre que Microsoft ne mensionne pas ce problème avec les checkboxes.

Merci, @+ (de rien pour la note, c'est mérité ^^)

Commentaire de PCPT le 13/09/2006 14:11:23 administrateur CS

SP2... non, il a bon dos mais pas à ce point ^^
dans le doute je mettrai désormais aussi les checkbox dans des picturebox.
as-tu MacAfee? plus qu'étrange mais je viens de tomber sur un topic disant que c'est un bug en rapport avec cet anti-virus...
http://forum.pcsoft.fr/post.awp?id=92734&from=0&forum=pcsoft.fr.windev&gmt=P0100

Commentaire de violent_ken le 13/09/2006 14:15:21

Non, je n'ai pas MacAfee (n'a jamais été installé sur ce disque après le dernier formatage).

Je tourne avec mon ami Nod32 2.5 ;)
@+

Commentaire de Renfield le 13/09/2006 14:49:19 administrateur CS

CheckBox, OptionButtons, et boutons doivent bénéficier de PictureBoxes

Commentaire de MadM@tt le 05/03/2007 18:19:30

Vraiment sympa, j'avais jamais vu cette source !
Voilà quelque chose qui résoud tous mes problèmes, merci bien et bravo ;)

Commentaire de violent_ken le 05/03/2007 18:21:20

C'est ici que j'ai appris à mettre systématiquement une PictureBox dans chaque Frame ;)

@+

Commentaire de Philippe734 le 25/04/2010 12:14:01 9/10

Super source je vais enfin pouvoir me passer d'un fichier stylewindows.res

En revanche, comment faire pour que la couleur changée des checkbox, option et des frames fonctionne ? car si on les mets dans une autre couleur que celle du style de windows alors leurs couleurs ne sera pas prise en charge et sera celle du style de windows.

Commentaire de Philippe734 le 25/04/2010 12:48:56

Ton test de la version de windows peut être amélioré de cette façon par exemple :

'dans les déclarations :
Private Const win95 As String = "Windows 95"
Private Const win98 As String = "Windows 98"
Private Const win2000 As String = "Windows 200"
Private Const XP As String = "XP"
Private Const Vista As String = "Vista"
Private Const win2003 As String = "Windows 2003"
Private Const Seven As String = "Seven"

Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End Type

'-> retourne des infos sur la plateforme système
'changé ton api avec celle-là
Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer

'la fonction public ou privée pour récupérer la version de windows
'et préciser si c'est au moins windows XP avec AtLeastXP
Public Function GetVersionWin(Optional ByRef AtLeastXP As Boolean) As String
    Dim osinfo As OSVERSIONINFO
    Dim retvalue As Integer
    osinfo.dwOSVersionInfoSize = 148
    osinfo.szCSDVersion = Space$(128)
    retvalue = GetVersionExA(osinfo)
    With osinfo
        Select Case .dwMajorVersion
        Case 4
            Select Case .dwMinorVersion
            Case 0: GetVersionWin = win95: AtLeastXP = False
            Case 10: GetVersionWin = win98 : AtLeastXP = False
            End Select
        Case 5
            Select Case .dwMinorVersion
            Case 0: GetVersionWin = win2000: AtLeastXP = False
            Case 1: GetVersionWin = XP: AtLeastXP = True
            Case 2: GetVersionWin = win2003: AtLeastXP = True
            End Select
        Case 6
            Select Case .dwMinorVersion
            Case 0: GetVersionWin = Vista: AtLeastXP = True
            Case 1: GetVersionWin = Seven: AtLeastXP = True
            End Select
        Case Else: GetVersionWin = "Failed": AtLeastXP = False
        End Select
    End With
End Function

'et changer le contenus de ta fonction avec ça :
Private Function IsWindowsXP() As Boolean
    [...]
    Call GetVersionWin(IsWindowsXP)

Concernant ma question précédent, en attendant de trouver mieux, j'applique une astuce trouvé dans le forum : je remplace le texte des objets dont leurs couleurs ne change pas par un label coloré

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Interface Windows XP ? [ par Arnotic ] Bonjour, Je voudrai bien savoir comment on peut intégrer à notre logiciel l'interface de Windows XP et non pas l'ancienne (par défaut). En vous re pb entre Vers Xp et W2000 [ par AsselusBorealiss ] Bonjour a tousj'ai besoin d'aide pour un petit pb ( trop grand pour moi :) )apres creation d'une petite interface sous Xp (qui charge dans la barre la classe ne gère pas Automation ou l'interface attendue [ par teuteu_ ] salut à tous g un petit soucis sous access 2003, lorsque je veux créer une zone de liste déroulante sur un formulaire, il me met un messgage du type " erreur 430 : la classe ne gere pas automation ou l'interface attendue. [ par aysse ] bonjour,Une application est installe sur plusieurs postes ayant la même configuration et l'application fonctionne sur certains postes mais sur d'autre Le style XP et *.manifest [ par violent_ken ] Violent Ken Salut à tous !Bon voilà le problème : j'ai créé un fichier *.manifest pour styler mon programme à la sauce X Problème avec le style Xp (Manifest) [ par oli91191 ] Bonjour, je suis débutant et j'utilise dans mon prog un graphique (AxMSChart20Lib) et  je le compile avec le manifest. Quand j'ouvre le fich interface différente à l'execution qu'à la construction [ par lucio57 ] Bonjour, j'ai un petit souci avec mon prog. Je développe une appli sous Vb.net 2005, sur un système XP. Le projet a été commencé sous Vb.net 2003 sur Fichier Manifest [ par bruno72 ] BonjourJe me suis servi d'une source pour créer un fichier manifest et profiter de l'affichage type XP.cette astuce fonctionne parfaitement sur mon PC Insérer une icone sur un CommandButton avec style XP [ par Tioneb ] Salut,Dans mon appli j'utilise le style windows xp avec une API et le fichier .manifest. (astuce: j'ai créé un manifest vb6.exe.manifest pour pouvoir Comment apeller une interface (classe abstraite) en paramètre d'une fonction en VB.NET. URGENT. [ par jonathann ] Bonjour,J'ai créé une interface (classe abstraite) IFlitre ainsi qu'une classe qui l'implémente MonFiltre. Dans une autre classe Operat


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,420 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales