CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Petit probléme louche

DantePC
DantePC
Niveau 10
11 septembre 2005 à 21:14:12

Bonjour, tout le monde en vue de la création de mon logiciel, j´ai besoin de travailler avec les fichiers temporaires. Jusqu´à présent tout marchait impécablement mais jusqu´à ce matin dés lors que j´ai effacé mes fichiers temporaires ça a commencé à merder.
Voilà donc jusqu´à présent mon répertoire des fichiers temporaires était :
C:\Documents and Settings\Moi\Local Settings\Temporary Internet Files(\Content.IE5)

Mais voilà lorsque j´ai effacé mes fichiers ce répertoire s´est déplacé tout seul vers :
C:\Documents and Settings\Moi\Local Settings\Temp\Temporary Internet Files(\Content.IE5)

Je suis allé voir dans la base de registre à la clef suivante :

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre
ntVersion\Explorer\Shell Folders\Cache
et le répertoire est bien toujours
C:\Documents and Settings\Moi\Local Settings\Temporary Internet Files(\Content.IE5)
et non pas C:\Documents and Settings\Moi\Local Settings\Temp\Temporary Internet Files(\Content.IE5)

Comment je peux faire pour redéfinir mon répertoire à C:\Documents and Settings\Moi\Local Settings\Temp\Temporary Internet Files(\Content.IE5)
car quand je fais déplacer le dossier dans Outil -> Options Internet -> paramètres, celui-ci ne m´affiche pas les dossiers cachés donc ne m´affiche pas Local Settings
Et là ça ne marche pas
J´espère que mon explication est claire et que je pourrais recueillir de l´aide
Merci

Yoda_Software
Yoda_Software
Niveau 30
11 septembre 2005 à 21:51:50

Recherche dans la base de registre un clé qui aurait pour valeur "C:\Documents and Settings\Moi\Local Settings\Temp\Temporary Internet Files(\Content.IE5)" et modifie cette valeur en "C:\Documents and Settings\Moi\Local Settings\Temporary Internet Files(\Content.IE5)".

Mais petite question, pourquoi utiliser ce chemin pour tes fichiers temporaires ?
Utilise plutôt "c:\Windows\temp" ! :ok:

dnob700
dnob700
Niveau 10
11 septembre 2005 à 22:36:26

Oui, le chemin que tu nous décrit est uniquement le dossier de fichier temporaire de IE et pas pour un programme généraliste.

Par contre, si tu me permet yoda, ce que tu dit est assez mauvais d´après moi : un programme qui écrirait des fichiers temporaires dans c:/windows/temp se verrait refuser le droit de tourner sur un compte non administrateur, obligeant un peu plus les utilisateurs à se logger en admin et donc à rendre windows moins sûr.

Le bon chemin de dossier temporaire (genre c:\document and setting\username\local setting\temp\" sous XP) se récupère par exemple avec : GetTempPath ou SHGetSpecialFolder.

DantePC
DantePC
Niveau 10
12 septembre 2005 à 08:28:00

Salut, j´avais effectivement fait une recherche comme l´a dit yoda mais je n´avais pas trouvé. Et puis hier lorsque je suis allé rejeter un coup d´oeil dans mes fichiers temporaires, mon répertoire était redevenu normal par je ne sais quelle miracle. Sinon dnob moi je suis sous VB là et pour récupérer le répertoire:
- Sois je lis la clef dans la base de registre
- Ou alors je fais un Environ("tmp") ou Environ("temp")

Merci :ok:

godrik
godrik
Niveau 30
12 septembre 2005 à 16:18:38

"Sinon dnob moi je suis sous VB là et pour récupérer le répertoire:"
il est possible en VB d´appeler les API WIN 32.

"- Sois je lis la clef dans la base de registre
- Ou alors je fais un Environ("tmp") ou Environ("temp") "
Ce deux solutions sont dependante du système d´exploitation sur lequel ton application tourne (note: je crois que tout les windows disposent d´un variable TMP). Si MS venait a changer l´endroit qui est lue par la fonction GetTempPath, ton application ne fonctionnerait plus.

dnob700
dnob700
Niveau 10
12 septembre 2005 à 17:33:12

DantePC : tu peut appeler les fonctions de l´API.

Pour ça, ou bien tu les déclare toi même si tu sais ce que tu fait, ou bien dans les outils il y a "API Viewer" qui te donne le code à entrer pour les API win32.

Pour GetTempPath je dirait que ça doit ressembler à ça :

private declare function GetTempPath lib "kernel32.dll" alias "GetTempPathA" (nBufferLength as integer, lpBuffer as string) as integer

et pour l´utiliser tu doit créer une string :
dim texte as string

tu doit mettre des caractère dedans :
texte=space$(260)

et appeler la fonction en disant combien il y a de caractère dans ta chaine :
GetTempPath(260,texte)
Sachant qu´il n´écrira pas plus de caractère que ce qu´il y avait déjà dans la chaine et que de toute manire sous windows en chemin d´accès ne peut pas faire plus de 260 caractères.

Yoda_Software
Yoda_Software
Niveau 30
12 septembre 2005 à 22:52:11

"Par contre, si tu me permet yoda, ce que tu dit est assez mauvais d´après moi : un programme qui écrirait des fichiers temporaires dans c:/windows/temp se verrait refuser le droit de tourner sur un compte non administrateur, obligeant un peu plus les utilisateurs à se logger en admin et donc à rendre windows moins sûr."

Tous mes programme utilisant des fichiers temporaires utilisaient le dossier c:\windows\temp, quel que soit le type d´utilisateur (Admin, utilisateur, ...) et ce sous Win9x, Nt, 2000 et Xp. Ce dossier est là pour ça il me semble, pas seulement pour Windows. Effectivement, c´est mieux dans un environnement multi-utilisateur/mono-poste d´utiliser un dossier temp placé dans le profil utilisateur. Mais si tu savais le nombre de problème que celà pose dans un environnement multi-utilisateur/multi-poste. On est justement en plein dedans dans ma boite et il est difficile de corriger ce genre de problème quand l´appli a été développé par un sous-traitant qui ne travaille plus pour ta boite et qui est passé à un autre projet.

Autre chose, il me semble qu´il s´agit de 256 caractères et pas 260 pour les chemins Windows.

kufa
kufa
Niveau 9
13 septembre 2005 à 08:52:39

hmm de tete ya une fonction de l api de win32 qui permet de creer un fichier temporaire, qui sera detruit automatiquement a la fermeture du process l ayant cree, si c est pas deja fait. Me trompe-je? A verfier sur la msdn, mais j ai vraiment souvenir que ca existe, et ca serait logique (pas de prob admin ou pas, et evite a un programme de rechercher le rep par default pour les fichiers temporaires)

dnob700
dnob700
Niveau 10
13 septembre 2005 à 16:50:15

yoda : Si tu le dit, je te fait confience, j´ai pas énormément de pratique sur ce genre de chose.

Pour le nom de fichier je ne connait pas d´autre fonction que GetTempFileName qui crée un nom unique de fichier temporaire, mais je ne pense pas qu´il soit détruit pour autant automatiquement.
L´exemple de la MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/creating_and_using_a_temporary_file.asp

Si quelqu´un a mieux, je suis preneur aussi.

Par contre pour les 260 caractères, j´ai pris la constante MAX_PATH qui se trouve dans stdlib.h et windef.h et qui est définit par la msdn comme : "Maximum length of full path".

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment