begin process at 2012 02 17 02:58:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LANCER L'IDE VB6 EN SAUVEGARDANT/MODIFIANT LE CONTENU DU PRESSE-PAPIER

LANCER L'IDE VB6 EN SAUVEGARDANT/MODIFIANT LE CONTENU DU PRESSE-PAPIER


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :vb6, ide, clipboard, formatage, afck Niveau :Débutant Date de création :20/01/2008 Date de mise à jour :22/01/2008 09:39:38 Vu / téléchargé :4 320 / 214

Auteur : PCPT

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


 Description

Cliquez pour voir la capture en taille normale
Depuis quelques temps, dès que j'ouvre mon IDE, mon presse-papier se vide.
un hook du presse-papier => pas moins de 26 accès images, toutes étant des images des boutons de l'IDE
pas le courage de tout réinstaller etc.... mais apparemment (forum), mon PC est loin d'être le seul touché

voici donc un petit exe à placer dans le répertoire de votre VB6.EXE
changez ensuite le chemin de vos raccourcis VB6 pour les faire pointer vers VB6_Loader.exe


fonctionnement :
très simple : le loader se charge, récupère le contenu TEXT du presse-papier, lance votre IDE normalement, ré-attribue

votre presse-papier puis se ferme.

j'ai tenté un peu plus compliqué (un prog tournant en permanence pour observer et agir en conséquence) mais le problème

est que techniquement, le presse-papier est altéré avant que l'IDE ne soit chargé dans les process....


votre IDE fonctionne parfaitement?
eh bien félicitations ^^
cependant cet outils peut néanmoins vous être très pratique.
en effet au lieu "simplement" de servir de buffer au presse-papier, on le modifie aussi un peu....

ainsi, si il contient un code que vous avez copié, il sera formaté!
à savoir que sous FF, on obtient souvent du

# ligne code 1
# ligne code 2
# ligne code 3

ou

    * ligne code 1
    * ligne code 2
    * ligne code 3

ou

1. ligne code 1
2. ligne code 2
3. ligne code 3


une fois l'IDE lancé, le presse-papier sera sans ces préfixes....




tenez-moi au courant ;)


 Conclusion

mode d'emploi :
compiler 'VB6_Loader.vpb'
placer 'VB6_Loader.EXE' dans le répertoire de 'VB6.EXE'
modifier manuellement les raccourcis pointant 'VB6.EXE' vers 'VB6_Loader.EXE'
lire le 'Association Extensions\README-FIRST.htm'
compiler 'Association Extensions\VB6Loader_Association.vbp'
executer 'VB6Loader_Association.exe'

 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

20 janvier 2008 23:20:42 :
zip
22 janvier 2008 09:39:39 :
* association registre (en conservant les mêmes icônes) , * gestion des paramètres directement sur VB6_Loader, y compris les /make /run , * gestion du clipboard image et rtf , * aide pour sauve registre

 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 TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture VB6 ADDIN - FAITES DISPARAITRE LES MSGBOX D'ERREUR IDE par EBArtSoft
Source avec Zip GESTION PROJET VB6 par cdbi
Source avec Zip Source avec une capture ADDIN HELPER - CRÉEZ VOS PROPRES ADDIN POUR VB6 [MODULES DE ... par PCPT
Source avec Zip Source avec une capture CONVERTIR DU CODE HTML TEXTE AU FORMAT HTML (EN VB6 ET VBA) ... par PCPT
Source avec Zip Source avec une capture ADDIN VB6 : SELECT CASE AMELIORE par bouv

Commentaires et avis

Commentaire de vicosta le 20/01/2008 23:41:46

Salut
J'avais aussi le même prob, j'ai supprimé quelques références clsid dans la configuration vb dans le registre, et maintenaint le clipboard reste intacte.

mais, avec mes tests, je ne me rappel plus quelle est la bonne référence  à supprimer,

En attendant, ce code reste une alternative intéréssante

Commentaire de PCPT le 20/01/2008 23:55:19 administrateur CS

salut,
le problème est bien là, quand on y arrive c'est par hasard....
là le problème se pose moins (toujours quand on ouvre un projet enregistré...)

j'en profite pour indiquer le lien de ton topic d'ailleurs :
http://www.vbfrance.com/infomsg_DEMARRAGE-VISUAL-BASIC-CLIPBOARD-VIDE-GENEANT_1060187.aspx


je mettrai à jour selon vos remarques
++

Commentaire de jack le 21/01/2008 02:16:31 administrateur CS

Pas bête !
Faudra penser aussi à modifier les associations avec les extensions VBG, VBP, FRM, BAS, CLS (...) dans les options de l'explorateur de fichier Windows (Outils, Option des dossiers, onglet Types de fichiers)

Commentaire de Renfield le 21/01/2008 07:15:09 administrateur CS

"LANCER L'IDE VB6 EN CONSERVANT LE CONTENU DU PRESSE-PAPIER"

plus simple de renommer l'ancien VB6.exe et de "prendre sa place"

non ?

Commentaire de bouv le 21/01/2008 11:20:35

Meme problème rencontré depuis longtemps.
Comme le dis Renfield, il serait plus simple de renommer VB6.exe (par exemple en VB.exe) et de prendre sa place.
Utile pour lancer les projets existants.
Il faut cependant gérer la transmission des parametres.

Sinon très bonne idée et bonne initiative.

Bonne prog
++

Commentaire de EBArtSoft le 21/01/2008 13:57:21 administrateur CS

Le probleme vient des addin qui pour utiliser la barre d'outil copie/colle les boutons. C'est effectivement tres genant et tu as eu une tres bonne idée. Toutefois il faudrait envisager une solution qui marche egalement pour tout les autres formats de donnée. Je vais peut etre me lancer aussi mais avec tout ce que je veux faire et ne fait pas j'y crois pas trop.

Merci pour l'idée, bonne pr@g

Commentaire de EBArtSoft le 21/01/2008 13:59:55 administrateur CS

Tiens... une idée serais de ce pencher sur la fonction Clipboard.Clear de VB. A partir de la on hook l'API ou la fonction de l'objet VB depuis l'ide (en y collant une injection de la table d'import, ce qui impliquerait une modification physique "reversible" de l'exe VB6.EXE)

Bon je verais on a plus que l'embara du choix

Commentaire de Renfield le 21/01/2008 14:00:00 administrateur CS

bien d'accord, le clipboard texte seul n'est pas suffisant...

c'est un bon début

Commentaire de PCPT le 21/01/2008 15:46:30 administrateur CS

pour ce qui est du hook clipboard, j'étais parti sur cette piste.
c'est d'ailleurs comme çà (en visualisant les images du presse-papier) que je me suis aperçu qu'il y avait d'abord un écrasement du texte si j'en avais un, puis des (26) images venant des boutons.

seulement VB6 n'est pas encore actif (process) alors que le presse-papier est déjà altéré. on ne peut pas tout bloquer juste en supposant que peut-être VB6 sera dans les process dans quelques secondes...

et en addin, s'il n'est pas chargé en premier çà sera le même problème!

pour renommer VB6, je ne voulais pas. si on cherche le getmodulefilename et qu'on tombe sur VB6_old.exe, pour certains de mes codes en tout cas, çà m'embête...
cependant j'ai volontairement mis "vb6.exe" en propriété de la classe process.
ainsi on peut facilement changer comme on le souhaite...

dans l'idéal le clipboard text n'est pas suffisant oui, mais çà correspondait vraiment à ce que je voulais, à savoir conserver (et formater) le texte, plutôt que de tout perdre comme c'était le cas.


modifs à venir (si possible cette semaine) :
* association registre (en conservant les mêmes icônes)
* gestion des paramètres directement sur VB6_Loader, y compris les /make /run
* gestion du clipboard image et rtf

merci pour vos encouragements et vos idées ;)

Commentaire de EBArtSoft le 21/01/2008 21:36:41 administrateur CS

PCPT> Non VB6 (le process) est lancé quand le clipboard est ecrasé seulement l'ide n'est pas visible ! Hors si tu operes un hook sur l'IAT (la table d'importation de dll) de vb6.exe tu pourras executer du code bien bien avant quoi que ce soit d'autre ! Et c'est la, je penses, que tu obtiendras les meilleurs resultat. Biensur c'est un peux plus complexe.

@+

Commentaire de EBArtSoft le 21/01/2008 22:22:29 administrateur CS

Pour info : http://www.mvps.org/vbvision/Save_Clipboard.htm

Commentaire de PCPT le 21/01/2008 22:34:20 administrateur CS

ok on va tenter sur cette nouvelle voie, merci EB ;)

Commentaire de PCPT le 22/01/2008 09:48:52 administrateur CS

MAJ faite selon les précédents points indiqués : fonctionne maintenant avec les projets existants, y compris les commandes et associations... (2e projet séparé, voir le fichier htm)

je verrai pour le format vbcffiles un peu plus tard...

EB -> pour l'IAT il y a tout de même quelquechose qui m'échappe....
tu entends alors un prog qui tourne en permanence?
j'ai jeté un oeil à 2 de tes sources, une en chargement indirect et l'autre en AddIn.
le AddIn étant exclus (raison évoquée, ordre de chargement), reste le chargement en permanence...
mais dans ce cas comment hooker 'VB6.EXE' alors que, comme plusieurs d'entre vous l'aviez suggéré, çà pourrait très bien être un autre exe, et le vrai serait 'vb6a.exe' par exemple...

nb : l'exe du lien indiqué ne fonctionne pas (il n'empêche pas l'ouverture mais le presse-papier reste endommagé)

@ vous lire ;)

Commentaire de Renfield le 22/01/2008 09:52:52 administrateur CS

je pense que EB parle de modifier physiquement le fichier VB6.exe
pour qu'il passe par la case MonLoader.exe

enfin, il t'en causerait mieux que moi, surtout si je me gourres ^^

Commentaire de EBArtSoft le 22/01/2008 10:12:34 administrateur CS

Certe...

Voila ce que je propose (J'ai regardé vite fait hier soir, ça peut le faire) :

1 - Faire une sauvegarde de VB6.EXE en VB6_OLD.EXE (ok c'etait evidant)
2 - Remplacer la chaine "advapi32.dll" par "myadvapi.dll" dans VB6.EXE
3 - Créer myadvapi.dll en C ou ASM. Cette dll doit :
    - exporter les fonctions de advapi32 importé/requise par VB6.EXE
    - Instancier un objet publique d'une dll activex VB6
    - (pour avoir du code vb sinon c'est pas drole et on passe chez
       cppfrance ou asmfr et puis si on est pas d'accord ben c'est pareil :p !)
4 - Créer une dll activex en VB qui va :
    1 - Soit recuperer les donnée du clipboard pour les rapatrier une
        fois l'ide chargé
    2 - Soit hooker les fonctions du clipboard pour empecher l'effacement
        des données ou/et faire un tampon des bitmaps.
    3 - Bloquer l'acces au clipboard pendant le chargement de l'IDE par ce
        les addin font chier !
    4  - "D la reponse D"

Sinon on peut toujours s'arreter au stade 3 en creant une dll de remplacement pour user32.dll qui remplace directement les fonction du clipboard mais la faudrait gerer les 230 ou 250 import bon ok c'est faisable en construisant le fichier .def et .asm par le code mais bon... deja peut etre commencer petit pour voir comment VB interagit avec le clipboard.

Bon aller je retourne a mes robinets haha

Commentaire de Renfield le 22/01/2008 10:17:10 administrateur CS

c'est a peu près ce que j'avais saisi de la solution que tu proposais.

je prendrai la proposition 1, perso...
un hook est plus galère a mettre en place
bloquer l'accès est un peu radical... la technique et maladroite, mais vu que les addins passent par le clipboard, on va les laisser faire...

Commentaire de PCPT le 31/01/2008 03:08:49 administrateur CS

tu testes ton presse-papier EB ?

Commentaire de EBArtSoft le 31/01/2008 19:41:07 administrateur CS

Oh hey dit donc on a le droit de ce tromper ! :p
Puis d'abord c'est pas moi c'est windows haha !

http://www.vbfrance.com/tutoriaux/MAINTENIR-CLIPBOARD-INTACTE-DEMARRAGE-VISUAL-BASIC_810.aspx

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Formatage depuis VB6 [ par xalimero ] Bonjour everybody,J'ai une petite question pour qui sait:Comment peut-on faire en VB6: - un FORMAT d'un lecteur en FAT16, sans que l'utilisateur ai be [ VB6]Utiliser plusieurs lignes de commandes dans l'IDE [ par Flamandier ] Bonjour, Je me demande s'il est possible de "stocker" des lignes de commandes lorsqu'on est en developpement sur un projet. Je demmarre mon executio Ide pour developper en VB6 [ par Tank01 ] Bonjour, Ayant rayé mon cd de VS6studio offert gracieusement par mon lycée:( je recherche donc un IDE de developpement VB6, j'attend vos réponses Problème avec le ClipBoard, depuis un complément VB6 qui sous-classe VB [ par mortalino ] @++ ( Nouveau forum : [VB.2008] Raz le bol de cet IDE ! [ par jack ] Bonjour(IDE : Interface/outil de programmation)En plus de ma question, je me permets ce coup de gueule envers l'IDE de VB.Net, ici en version 2008, je Bug IDE VB6 ? [ par Klimero ] Bonjour, je crois avoir trouvé un bug dans l'IDE VB6, ca se produit sur deux postes différents, l'un avec VB6 de base, l'autre avec le SP5. Pour repr ide de vb6 [ par ccgousset ] Jai les barres doutils en haut qui retrecicent sans arret. je les reinitialise et quand je ferme et reouvre les tites icones se barrent idem dans le m Préférences de l'IDE de VB6 [ par jrivet ] 'Lut All...Hier le service info est venu me réinstallé Office 2000 (j'avais plus ACCESS)Bref après s'être rendu compte que je n'étais pas avec office aide sur vb6 [ par NDOUKI ] Salut à tous ,depuis un moment j'apprend à developper avec mon VB6 mais seulement je ne sais pas comment interroger ma base de données access. J'aimer


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 0,842 sec (3)

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