APPLICATION DE TYPE CONSOLE (ADDIN)

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 17 janv. 2007 à 19:16
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 18 janv. 2007 à 18:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41156-application-de-type-console-addin

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2007 à 18:47
Merci pour tout, EB
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 17:34
Il faut ce referer à ce document : http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc

Ce n'est pas très digest mais tout y est

@+
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
18 janv. 2007 à 17:00
Salut

Interessante votre discution ^^

Quels sont les api qui permettent de lire et d'agir sur ces structures ? J'ai tapé le nom des structures dans google et y a vraiment rien :(
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 14:19
Si on peut utiliser les structures PE_FILE_HEADER + PE_OTIONAL_HEADER et tester/changer uniquement le flag PE_OTIONAL_HEADER.SubSystem. Passer de Windows GUI à Windows CUI (de 1 à 2)

@+
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2007 à 10:36
Exact.... j'ai lu trop vite :$

y'a pas un moyen plus sur que d'attendre de tomber sur un 02 :S

je veux dire, si notre appli est deja en console, un user peu dégourdit pourrait vouloir en refaire une console, et modifier un autre 02 en 03 ...
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 10:07
C'est justement pour ça qu'il y a Do Until ;p

@+
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2007 à 09:24
Gaffe a ton :
Seek #1, 200

EB, c'est pas toujours 200....

je viens de générer un exe 'normal', et ce serait, pour celui là, 276....
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2007 à 09:09
Merci EB, je n'en demandais pas tant ^^

cela dit, j'étais pleinement convaincu que tu savait quel parametre envoyer....
comme d'hab, parfait :p
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 07:58
Oui c'est possible de changer les commandes passé a link le probleme c'est qu'il faut tout un mecanisme de crochetage ou bien un deuxieme executable qui appelera link c'est un peu lourd. Pour ma part je prefere largement un petit clic vite fait bien fait.

Mais c'est sur que tu peux faire ça dans ton addin suffit d'ajouter "/subsystem:console" à la chaine passé a link.exe

@+
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2007 à 07:45
Pour les Apis, ok...
pour la transformation, je me dit même qu'un changement des settings passé en ligne de commande à Link pourrait suffir....


ton code est plus court que celui de MkConsole, pour sur...!!!

dire qu'il s'agit de changer juste un octet qui traine dans l'Header.... le code que j'ai pris semble faire bien plus... et beh !

j'ai pas cherché a entrer dans les détails, remarques, j'ai juste intégré ca dans un addIn, histoire de garder l'outil sous le coude :p
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 janv. 2007 à 00:27
Bon si je peux aider pour faire un programme console il suffit simplement d'utiliser les api genre ReadConsoleInput et WriteConsole pour ce qui est de la transofmation c'est encore plus simple :

- Tu compiles normallement ton exe
- Tu crée un petit projet vb avec les lignes suivante :

Sub Main()
Dim mData As Byte
Open Command$ For Binary Acces Read Write As #1
Seek #1, 200
Do Until EOF(1)
Get #1, , mData
If (mData = 2) Then
mData = 3
Put #1, Seek(1) - 1, mData
Exit Do
End If
Loop
Close #1
MsgBox "Fichier modifié avec succès", vbInformation
End Sub

- Puis Tu fait Shell "MonPetitProjet.exe MonProjetAConvertir.exe"

voila c'est fait ça marche en mode console
(tu peux mêmùe ajouter ça dans le shell pour le convertir en un clic, c'est ce que j'ai fait pour ma part)

@+
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
17 janv. 2007 à 19:16
Heyhey! merci ^^

Vraiment cool comme addin :)

++
Rejoignez-nous