FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Découpe dans une image
par JL35 Hier à 23:03

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par Marc Hier à 21:51

» Pour faire plaisir à Marc37.
par Marc Hier à 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Hier à 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

» Ludothèque Panoramic
par jjn4 Mar 20 Fév 2018 - 15:42

» Calculus
par Ouf_ca_passe Mar 20 Fév 2018 - 9:06

» 6 (en analyse):confusion de variable locale entre SUB et FNC
par Jack Mar 20 Fév 2018 - 8:18

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 obtenir le chemin du répertoire TEMP de windows

Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 525
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 16:31

Bonjour à tous

Comme il n'y a pas de commande dédiée à cela, voici un petit bout de code pour obtenir le chemin du répertoire TEMP de windows.

Code:
' obtenir le chemin du répertoire TEMP de windows

' cré la commande de copie de mémoire
dim kernel32%
kernel32%=3
LIBRARY kernel32%,"kernel32"
command "copy_memory","RtlMoveMemory",kernel32%,"III","stdcall"
' ex.: copy_memory adr(destination), adr(source), taille_en_octet

'
dim TEMP$
dim ptr_TEMP%,null%
dll_on "kernel32"
'
ptr_TEMP%=0 : TEMP$=string$(255,chr$(0))  :' fabrique une chaîne vide de 255 caractères
copy_memory adr(ptr_TEMP%),adr(TEMP$),4  :' écris le pointeur de la chaîne dans ptr_TEMP
' GET_STRING_PTR(adr(ptr_TEMP%),adr(TEMP$)) :' plus necessaire car remplacé par copy_memory
'
null%=dll_call2("GetTempPathA",len(TEMP$),ptr_TEMP%)  :' obtient le chemin
'
TEMP$=trim$(TEMP$)  :' enlève les caractères superflus
free ptr_TEMP% : free null%
dll_off

print TEMP$  :' affiche le chemin


END
'
sub GET_STRING_PTR(adr_destination%,adr_source%)
' retrouve l'adresse du pointeur
  poke adr_destination%,peek(adr_source%)
  poke adr_destination%+1,peek(adr_source%+1)
  poke adr_destination%+2,peek(adr_source%+2)
  poke adr_destination%+3,peek(adr_source%+3)
end_sub

EDIT: maj du code


Dernière édition par silverman le Mar 7 Fév 2017 - 10:47, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6148
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 17:18

Intéressant, c'est noté, merci silverman.

C'est vrai qu'il y a une mine d'or dans kernel32 et user32, mais pas facile à interfacer, trouver et passer les paramètres, etc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5744
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 18:01

Salut tout le monde.
Silverman, ton code est intéressant.
Merci du partage.

J’ai posté sur cette page et sur cette autre page des codes  intéressants (selon moi) , sur le même sujet mais personne n’y a prêté attention. Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 6148
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 20:19

Certes papydall, tes pages sur la variable d'environnement (PATH) étaientt intéressantes, mais selon moi ça ne mérite pas un programme, du fait que ça ne s'utilise qu'une seule fois et qu'on peut faire ça très facilement en ligne de commande avec la commande PATH justement.

Ce qui m'aurait intéressé  c'est la liste des différentes commandes (au moins celles qui peuvent intéresser un programmeur) des dll kernel32 et user32 (et autres), avec leurs paramètres, comment les passer et comment récupérer les résultats. Depuis Panoramic !
On trouve tout un tas de trucs en cherchant sur internet, mais c'est souvent plutôt abscons.

Pour PATH, entrer help path en ligne de commande pour avoir les paramètres, ou path tout court pour avoir la liste des chemlins de recherche actuels.


Et pardon silverman si c'est un peu hs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 525
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 21:35

@JL35
Tu peux obtenir la liste des commandes d'une dll(kernel32 par exemple) à l'aide d'un programme conçu par Klaus: DllViewer. Ca donne des pistes pour effectuer une recherche fine sur google, mais c'est souvent en anglais. Pour le passages des paramètres, je procède par tâtonnement la plupart du temps et avec l'habitude, on arrive assez vite à un résultat.

@papydall
J'avais déjà lu tes sujets, mais je préfère une fonction qui fait ce que je recherche directement plutôt que passer par un script. CLIP n'est pas présent par défaut sous XP, il faut l'installer manuellement. Selon moi, une application panoramic n'a pas à installer des composants additionnels dans les entrailles de windows

L'idéal serait que jack cré la commande DIR_TEMP$, parfait pour l'archiveur et les commandes de fichiers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6148
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 21:42

Merci pour les pistes à explorer silverman.
Je vais déjà aller voir du côté de chez Klaus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10575
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 22:24

Silverman dit:
Citation :
Tu peux obtenir la liste des commandes d'une dll(kernel32 par exemple) à l'aide d'un programme conçu par Klaus: DllViewer. Ca donne des pistes pour effectuer une recherche fine sur google, mais c'est souvent en anglais.

Lorsqu'on charge une DLL dans DllViewer, ce programme affiche la liste des procédures et fonctions "exportées", c'est-à-dire celles qu'on peut appeler de l'extérieur. Il n'y a aucun moyen de détecter le nombre de paramètres et leur sens.

Mais 'il s'agit d'une DLL de Windows, il suffit de cliquer (gauche) sur la ligne à laquelle on s'intéresse, et dans la fenêtre de droite apparaîtra une page de MSDN documentant cette fonction, puisqu'il s'agit en fait des APIs de Windows.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 6148
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 22:48

J'ai chez moi la liste des API Windows que j'avais chargée ici : http://doc.pcsoft.fr/fr-FR/?6510002
ça a l'air assez complet (total 1525 fonctions, avec leurs paramètres)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5744
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Sam 28 Jan 2017 - 23:50

J’ai perdu une bonne occasion de me taire. Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 6148
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Dim 29 Jan 2017 - 11:00

Pourquoi dis-tu ça papydall ???
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5895
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   Dim 29 Jan 2017 - 11:35

Pas grave, il na rien dit de toute façon. Il l'a écrit  Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: obtenir le chemin du répertoire TEMP de windows   

Revenir en haut Aller en bas
 
obtenir le chemin du répertoire TEMP de windows
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment sauvegarder précisément des waypoints et tracés afin de les mettre dans un répertoire classique sous Windows en vue de les récupérer plus tard.
» Obtenir le nombre de caractère d'un fichier sans le charger en mémoire vive
» Répertoire parent
» [ RESOLU ]Chemin de fichier en relatif
» Chemin d'accès très bizarre [RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: