| deux petites subs | |
|
|
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: deux petites subs Dim 5 Fév 2017 - 15:28 | |
| Deux petites subs du dimanche, histoire de causer... Peut-être pas d'un intérêt puissant, mais ce sont des fonctions dont j'ai eu besoin dans un programme. 1) Liste des programmes d'application lancés au démarrage (liste renvoyée dans le presse-papier): - Code:
-
SUB Demarrage() ' Liste des programmes lancés au démarrage -> clipboard DIM_LOCAL r$ EXECUTE_WAIT "cmd.exe /c hostname | clip" r$ = TRIM$(CLIPBOARD_STRING_PASTE$): ' nom de l'ordinateur: PC-xxx ou xxx-PC IF INSTR(r$,"-PC") >0 THEN r$ = LEFT$(r$,LEN(r$)-3) IF INSTR(r$,"PC-") >0 THEN r$ = RIGHT_POS$(r$,4) r$ = "C:\Users\"+r$+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" EXECUTE_WAIT "cmd.exe /c DIR /B "+CHR$(34)+r$+CHR$(34)+"*.* | clip" END_SUB 2) Trouver le répertoire de téléchargement de Firefox (ça doit pouvoir se faire pour les autres navigateurs, mais je ne peux pas tester...). Pareil, donnée renvoyée dans le presse-papier. - Code:
-
SUB Rep_Telechar() ' Chemin de téléchargement défini dans Firefox, rendu dans le clipboard DIM_LOCAL r$,sq$,f$,a$,rd$,k% EXECUTE_WAIT "cmd.exe /c hostname | clip" a$ = TRIM$(CLIPBOARD_STRING_PASTE$): ' nom de l'ordinateur: PC-xxx ou xxx-PC IF INSTR(a$,"-PC") >0 THEN a$ = LEFT$(a$,LEN(a$)-3) IF INSTR(a$,"PC-") >0 THEN a$ = RIGHT_POS$(a$,4) r$ = "C:\Users\"+a$+"\AppData\Roaming\Mozilla\Firefox\Profiles\" IF DIR_EXISTS(r$) = 0 THEN CLIPBOARD_STRING_COPY "": EXIT_SUB sq$ = "browser.download.dir": ' séquence cherchée EXECUTE_WAIT "cmd.exe /c DIR /B /A:D "+r$+"bu* | clip" r$ = r$+TRIM$(CLIPBOARD_STRING_PASTE$)+"": f$ = r$+"prefs.js": rd$ = "" FILE_OPEN_READ 1,f$ WHILE FILE_EOF(1) = 0 FILE_READLN 1,a$: k% = INSTR(a$,sq$) IF k%>0 a$ = RIGHT_POS$(a$,k%+LEN(sq$)+4): k% = INSTR(a$,CHR$(34)) rd$ = LEFT$(a$,k%-1)+"": k% = INSTR(rd$,"") IF k%>0 THEN rd$ = LEFT$(rd$,k%)+RIGHT_POS$(rd$,k%+2) EXIT_WHILE END_IF END_WHILE FILE_CLOSE 1 CLIPBOARD_STRING_COPY rd$ END_SUB Remarque: pour ces deux subs j'ai eu besoin de connaître le nom du pc, pour définir le répertoire: C:\Users\[Nom]\AppData... etc ... J'ai fait ça de manière un peu empirique avec la commande hostname mais est-ce que ça marche dans tous les cas ? Et je vous rassure tout de suite: même si vous ne réagissez pas, je reste ! EDIT: Suite aux fantaisies du forum qui prend des libertés avec le contenu des balises code /code en faisant sauter des antislash, je précise que les lignes ci-dessous 'r$ = ...' doivent comporter des antislash (\) après C:\Users\et à la fin après Startup\ pour la première et après Profiles\ pour la deuxième.
Dernière édition par JL35 le Dim 5 Fév 2017 - 19:47, édité 4 fois | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 5 Fév 2017 - 16:04 | |
| Je vais réagir, l' humeur étant à la désertion...on ne sait jamais... Je vais même sur-réagir en te disant que je vais les mettre sur le site à la prochaine mise à jour. Bon, toutes plaisanteries mises à part, c' est intéressant de savoir comment récupérer des infos de nos machines. Même si je l' avoue , mon "travail" du moment ne m' en donne pas l' utilité tout de suite. | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 16:05 | |
| Merci JL35 pour tes deux SUBs dominicales. Chez moi, sous W10 64 bits, j’ai dû ajouter un antislash à la fin de de la ligne : r$ = "C:\Users"+r$+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup \" Quant à la deuxième SUB, je n’ai pas testé, j’utilise Chrome. Bonne fin de journée ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 17:43 | |
| C'est bien de faire ces choses en Panoramic pur, quoiqu'avec le concours de CMD. Pour les utilisateurs de KGF.dll, il y a la fonction: - Code:
-
res%= dll_call2("GetWindowsFolderPath",code%,adr(path$)) avec code étant une des valeurs suivantes: - Citation :
- 0 = Dossier Virtuel représentant le Bureau
1 = Dossier Virtuel Internet 2 = Dossier Programmes du Menu Démarrer 3 = Dossier Virtuel contenant les icônes des applications du Panneau de Contrôle 4 = Dossier Virtuel contenant les Imprimantes Installées 5 = Dossier Mes Documents 6 = Dossier Favoris 7 = Dossier Démarrage dans le dossier Programmes du Menu Démarrer 8 = Dossier Récent 9 = Dossier SendTo 10 = Dossier Virtuel contenant les fichiers de la Corbeille 11 = Dossier Menu Démarrer 12 = Dossier Virtuel contenant les fichiers du dossier Mes Documents 13 = Dossier Mes Musiques 14 = Dossier Mes Vidéos 16 = Dossier physique contenant les objets du Bureau 17 = Dossier Virtuel My Computer 18 = Dossier Virtuel Voisinage réseau 19 = Dossier physique Nethood 20 = Dossier Fonts 21 = Dossier ShellNew 22 = Dossier Menu Démarrer pour All Users 23 = Dossier Programmes dans le menu Démarrer pour All Users 24 = Dossier Démarrage dans le dossier Programmes du Menu Démarrer pour All Users 25 = Dossier Physiques du Bureau pour All Users 26 = Dossier Application Data 27 = Dossier PrintHood 28 = Dossier Application Data dans Local Settings pour le Current User 29 = NT Only 30 = NT Only 31 = Dossier Favoris pour All Users 32 = Dossier Temporary Internet Files 33 = Dossier Cookies 34 = Dossier Historiques 35 = Dossier Physique Application Data pour All users 36 = Répertoire windows 37 = Répertoire System 32 de Windows 38 = Dossier Program Files 39 = Dossier physique de My Pictures pour Current Users 40 = Dossier Physique du Current Users 41 = x86 system directory on RISC systems 42 = x86 Program Files folder on RISC systems 43 = Dossier Common files de Program Files 44 = x86 Program Files Common folder on RISC systems 45 = Dossier Physique ShellNew pour AllUsers 46 = Dossier Physique Documents pour AllUsers 47 = Dossier Physique pour l'administrative tools 48 = Dossier Start MenuPrograms Administrative Tools 49 = Dossier Virtuel contenant les connections réseaux et dial-up 53 = Dossier physique My Music pour AllUsers 54 = Dossier physique My Pictures pour AllUsers 55 = Dossier physique My Video pour AllUsers 56 = Dossier physique Ressources de Windows 57 = Dossier physique Ressources Localisées de Windows 58 = 59 = Dossier CD Burning de Windows 60 = Dossier Virtuel Work Group NetWork | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 17:45 | |
| Merci Marc pour ton retour ! En ce qui concerne l'antislash manquant, ça ne dépend pas du système d'exploitation mais d'une étourderie de ma part (ou alors c'est le forum qui me l'a encore bouffé), donc je vais corriger ci-dessus. C'est fait ! Et effectivement, vérification faite, l'antislash avait bien été escamoté par le forum !!!
@Klaus, CMD est une ressource interne, présente sur toutes les machines, donc il n'y a rien à adjoindre au programme qui utilise les subs. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 17:55 | |
| - Citation :
- CMD est une ressource interne, présente sur toutes les machines
Certes ! Je le sais bien ! Papydall aussi publie souvent des astuces pour récupérer des informations diverses, via CMD ou ou le script de Windows. C'est parfaitement valable. Je voulais juste montrer que, pour ceux qui de toutes façons utilisent KGF.dll, il y a une multitude de dossiers utilisables... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 17:58 | |
| Certes Klaus, je ne conteste pas que les fonctions de KGF.dll sont très puissantes, et incontournables dans certains cas, et je les utilise volontiers... quand je ne peux pas faire autrement ! Par exemple j'utilise régulièrement les fonctions d'impression, entre autres. Je viens de corriger là_haut, il manquait un autre antislash dans la ligne, après 'Users', escamoté également par le forum. Agaçant ce truc... ET EN CORRIGEANT CELUI-CI, L'AUTRE A REDISPARU !!! j'y retourne | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 19:25 | |
| Essaie de mettre un espace après le dernier antislash, avant de fermer la chaîne de caractères... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 19:33 | |
| Ça semble effectivement se produire quand un antislash est suivi d'un caractère quote. Là tout est en ordre, après quelques avatars.
Mais si comme tu le suggères je mets un espace entre les deux, ma chaîne n'est plus correcte ! C'est un path, et si on met un nom de fichier derrière ça ne marchera pas.
De toute façon, je trouve ça incompréhensible que le contenu des balises code /code soit analysé (et éventuellement modifié comme ici) d'une façon ou d'une autre par le forum. Je ne sais pas ce qu'on peut y faire, ça déjà été signalé un millier de fois, et... rien. Ce n'est sans doute pas du ressort de Jack, mais il doit bien y avoir moyen de remonter ça.
Et j'aurais dû y penser, dans la sub du dessous c'est pareil, il manque deux antislash !!! J'enrage !!! | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 5 Fév 2017 - 19:50 | |
| Pour moi, tout est bon à prendre. Certes, KGF le fait mais lorsque l' on a besoin que d' une fonction il est agréable de pouvoir alléger le dossier. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 20:00 | |
| - Citation :
De toute façon, je trouve ça incompréhensible que le contenu des balises code /code soit analysé (et éventuellement modifié comme ici) d'une façon ou d'une autre par le forum. Entièrement d'accord. C'est une véritable plaie. Mais il y a un autre moyen de s'en sortir: remplace l'antislash en fin de chaîne de caractères par un - Code:
-
...+chr$(92) | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: deux petites subs Dim 5 Fév 2017 - 20:59 | |
| Bien sûr c'est une solution efficace, et je l'ai déjà utilisée, mais ça veut dire qu'il faudrait y penser d'avance en déposant le programme. Et si on n'y pense pas, quelqu'un va essayer, ça ne marche pas, il laisse tomber, c'est compréhensible.
Et je ne suis pas sûr que ce soit la seule configuration qui est interprétée à tort par le forum. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: deux petites subs Lun 6 Fév 2017 - 22:21 | |
| Nouvelle version de la sub Demarrage (liste des programmes lancés au démarrage de Windows): - Code:
-
SUB Demarrage() ' Liste des programmes lancés au démarrage -> clipboard DIM_LOCAL r$ r$ = "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" EXECUTE_WAIT "cmd.exe /c DIR /B "+CHR$(34)+r$+CHR$(34)+"*.* | clip" END_SUB C'est plus simple, avec le mot-clé %USERPROFILE% plus la peine de récupérer le nom de l'ordinateur. Je n'ose pas aller rectifier là-haut, de peur de perturber les anti-slash... | |
|
| |
Contenu sponsorisé
| Sujet: Re: deux petites subs | |
| |
|
| |
| deux petites subs | |
|