Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

higgins

Enregistrer un type de fichier

Messages recommandés

Bonjour tout le monde,

petite question:

J'ai développé un petit programme qui sauvegarde des données dans un fichier *.sdi, seulement quand je double-click sur mes fichier *.sdi je voudrais que mon programme se lance. Pour mon PC ça va j'ai fais la manip mais pour mes collègues je voudrais automatisé la chose, comment faire pour ne pas avoir la confirmation à l'importation d'une cléf dans la BDR (pour que ce soit transparent pour l'utilisateur)

Merci.

Higgins

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut higgins (et les autres aussi !),

 

En quel langage est fait ton programme ?

Cela pourrait aider car tu devrais pouvoir intégrer directement dans ton programme l'ajout d'une clé dans la base de registre !

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir higgins, SantX, bonsoir à tous,

 

Regarde du côté du switch /S de RegEdit (/S comme Silence).

 

http://support.microsoft.com/default.aspx?...&NoWebContent=1

Sois très prudent !

Cette page dit que l'information s'adresse à Windows 3.1/Windows 3.11 mais elle a été révisée récemment ! ( Last Reviewed: 10/10/2003 (2.0) )

Modifié par ipl_001

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, merci pour vos réponse, je suis sous visual basic (6). Y'a t-il un moyen de voir si le type de fichier est enregistré comme ça je n'ai pas besoin de le ré-enregistrer à chaqque démarrage de mon programme.

merci pour le liens c'est déjà un grand pas :P

higgins

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca y est j'ai trouvé, en cherchant sur des sites de VB.

 

merci

Higgins :P

 

pour info le code:

 

 

Public Const REG_SZ As Long = &H1

Public Const REG_DWORD As Long = &H4

Public Const HKEY_CLASSES_ROOT As Long = &H80000000

Public Const HKEY_CURRENT_USER As Long = &H80000001

Public Const HKEY_LOCAL_MACHINE As Long = &H80000002

Public Const HKEY_USERS As Long = &H80000003

 

Public Const ERROR_SUCCESS As Long = 0

Public Const ERROR_BADDB As Long = 1009

Public Const ERROR_BADKEY As Long = 1010

Public Const ERROR_CANTOPEN As Long = 1011

Public Const ERROR_CANTREAD As Long = 1012

Public Const ERROR_CANTWRITE As Long = 1013

Public Const ERROR_OUTOFMEMORY As Long = 14

Public Const ERROR_INVALID_PARAMETER As Long = 87

Public Const ERROR_ACCESS_DENIED As Long = 5

Public Const ERROR_MORE_DATA As Long = 234

Public Const ERROR_NO_MORE_ITEMS As Long = 259

 

Public Const KEY_ALL_ACCESS As Long = &HF003F

Public Const REG_OPTION_NON_VOLATILE As Long = 0

 

Public Declare Function RegCloseKey Lib "advapi32.dll" _

(ByVal hKey As Long) As Long

 

Public Declare Function RegCreateKeyEx Lib "advapi32" _

Alias "RegCreateKeyExA" _

(ByVal hKey As Long, _

ByVal lpSubKey As String, _

ByVal Reserved As Long, _

ByVal lpClass As String, _

ByVal dwOptions As Long, _

ByVal samDesired As Long, _

ByVal lpSecurityAttributes As Long, _

phkResult As Long, _

lpdwDisposition As Long) As Long

 

Public Declare Function RegOpenKeyEx Lib "advapi32" _

Alias "RegOpenKeyExA" _

(ByVal hKey As Long, _

ByVal lpSubKey As String, _

ByVal ulOptions As Long, _

ByVal samDesired As Long, _

phkResult As Long) As Long

 

Public Declare Function RegSetValueExString Lib "advapi32" _

Alias "RegSetValueExA" _

(ByVal hKey As Long, _

ByVal lpValueName As String, _

ByVal Reserved As Long, _

ByVal dwType As Long, _

ByVal lpValue As String, _

ByVal cbData As Long) As Long

 

Public Declare Function RegSetValueExLong Lib "advapi32" _

Alias "RegSetValueExA" _

(ByVal hKey As Long, _

ByVal lpValueName As String, _

ByVal Reserved As Long, _

ByVal dwType As Long, _

lpValue As Long, _

ByVal cbData As Long) As Long

 

Sub CreateAssociation()

 

Dim sPath As String

 

'File Associations begin with a listing of the default extension under HKEY_CLASSES_ROOT. So the first step is to create that root extension item

CreateNewKey ".sdi", HKEY_CLASSES_ROOT

 

'To the extension just added, add a subitem where the registry will look for commands relating to the .xxx extension

'("MyApp.Document"). Its type is String (REG_SZ)

SetKeyValue ".sdi", "", "Fichiers.SDI", REG_SZ

 

'Create the 'MyApp.Document' item under

'HKEY_CLASSES_ROOT. This is where you'll put the command line to execute or other shell statements necessary.

CreateNewKey "Fichiers.SDI\shell\open\command", HKEY_CLASSES_ROOT

 

'Set its default item to "MyApp Document".

'This is what is displayed in Explorer against for files with a xxx extension. Its type is String (REG_SZ)

SetKeyValue "Fichiers.SDI", "", "Fichier de configuration SDI", REG_SZ

 

'Finally, add the path to myapp.exe Remember to add %1 as the final command parameter to assure the app opens the passed

'command line item. (results in '"c:\LongPathname\Myapp.exe %1") Again, its type is string.

sPath = App.Path & "\" & App.EXEName & " %1"

SetKeyValue "Fichiers.SDI\shell\open\command", "", sPath, REG_SZ

 

CreateNewKey "Fichiers.SDI\DefaultIcon", HKEY_CLASSES_ROOT

SetKeyValue "Fichiers.SDI\DefaultIcon", App.Path & "\" & App.EXEName & ",0", sPath, REG_SZ

 

'All done

'DefaultIcon C:\Documents and Settings\eggenspieler.D_UDET\Mes documents\mes documents\vb\codes_europe\note de calcul SDI\note de calcul.exe,0

 

 

End Sub

 

 

Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long

 

Dim nValue As Long

Dim sValue As String

 

Select Case lType

Case REG_SZ

sValue = vValue & Chr$(0)

SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, Len(sValue))

 

Case REG_DWORD

nValue = vValue

SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, nValue, 4)

 

End Select

 

End Function

 

 

Public Sub CreateNewKey(sNewKeyName As String, lPredefinedKey As Long)

 

'handle to the new key

Dim hKey As Long

Dim result As Long

 

Call RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hKey, result)

Call RegCloseKey(hKey)

 

End Sub

 

 

Public Sub SetKeyValue(sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long)

 

'handle of opened key

Dim hKey As Long

 

'open the specified key

Call RegOpenKeyEx(HKEY_CLASSES_ROOT, sKeyName, 0, KEY_ALL_ACCESS, hKey)

Call SetValueEx(hKey, sValueName, lValueType, vValueSetting)

Call RegCloseKey(hKey)

 

End Sub

'--end block--'

Partager ce message


Lien à poster
Partager sur d’autres sites

Votre contenu devra être approuvé par un modérateur

Invité
Vous postez un commentaire en tant qu’invité. Si vous avez un compte, merci de vous connecter.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×